j'utilise telegram_bot , et j'essaie d'obtenir groupChat id pour envoyer des notifications à la discussion en groupe, mais je ne sais pas quelles méthodes je dois utiliser pour cela.
Pour obtenir l'identifiant de chat, je l'utilise pour message.chat.id lorsque le bot a participé au chat mais que je dois utiliser pour obtenir un identifiant de chat de groupe ne peut pas trouver /
Pour obtenir l'identifiant de discussion de groupe, procédez comme suit:
Ajoutez le télégramme BOT au groupe.
Obtenez la liste des mises à jour pour votre BOT:
https://api.telegram.org/bot<YourBOTToken>/getUpdates
Ex:
https://api.telegram.org/bot123456789:jbd78sadvbdy63d37gda37bd8/getUpdates
Recherchez l'objet "chat":
{"update_id": 8393, "message": {"message_id": 3, "à partir de::" "id": 7474, "prénom_nom": "AAA"}, "chat": {"id":, "titre ":" "}," date ": 25497," new_chat_participant ": {" id ": 71," prénom_nom ":" NOM "," nomutilisateur ":" YOUR_BOT_NAME "}}}
Voici un exemple de réponse lorsque vous ajoutez votre BOT à un groupe.
Voici la séquence qui a fonctionné pour moi après avoir lutté pendant plusieurs heures:
Supposons que le nom du bot est my_bot.
1- Ajoutez le bot au groupe.
Allez au groupe, cliquez sur le nom du groupe, cliquez sur Ajouter des membres, dans le champ de recherche recherchez votre bot comme suit: @my_bot, sélectionnez votre bot et cliquez sur ajouter.
2- Envoyer un message factice au bot.
Vous pouvez utiliser cet exemple: /my_id @my_bot
(J'ai essayé quelques messages, tous les messages ne fonctionnent pas. L'exemple ci-dessus fonctionne bien. Peut-être que le message devrait commencer par /)
- Aller à l'URL suivant:https://api.telegram.org/botXXX:YYYY/getUpdates
remplacez XXX: YYYY par votre jeton bot
4- Rechercher "chat": {"id": - zzzzzzzzzz,
- zzzzzzzzzz est votre identifiant de discussion (avec le signe négatif).
5- Testing: Vous pouvez tester l'envoi d'un message au groupe avec un curl:
curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=-zzzzzzzzzz&text=my sample text"
Si vous manquez l'étape 2, il n'y aura pas de mise à jour pour le groupe que vous recherchez. De même, s'il existe plusieurs groupes, vous pouvez rechercher le nom du groupe dans la réponse ("title": "nom_groupe").
J'espère que cela t'aides.
À partir de la mi-2018, simplement:
Lors de votre inscription, un fichier JSON contenant votre identifiant de chat sera situé à message.chat.id.
"message": {
"chat": {
"id": -210987654,
"title": ...,
"type": "group",
...
}
...
}
Assurez-vous de retirer @RawDataBot de votre groupe par la suite.
Après la mi-2018:
1 :) Invitez @ getidsbo ou @RawDataBot
dans votre groupe et obtenez votre identifiant de groupe dans le champ Identifiant de discussion envoyé.
Message
├ message_id: 338
├ from
┊ ├ id: *****
┊ ├ is_bot: false
┊ ├ first_name: 사이드
┊ ├ username: ******
┊ └ language_code: en
├ chat
┊ ├ id: -1001118554477 // This is Your Group id
┊ ├ title: Test Group
┊ └ type: supergroup
├ date: 1544948900
└ text: A
2 :) utilisez un Messenger non officiel comme Plus Messenger et voyez votre identifiant de groupe dans les informations de groupe/canal.
Avant mi-2018: (ne pas utiliser)
1: Goto ( https://web.telegram.org )
2: Allez vers votre Gorup et trouvez votre lien de Gorup ( https://web.telegram.org/#/im?p=g154513121 )
3: Copiez ce nombre après g et mettez un (-) avant que -154513121
4: Envoyez votre message à Gorup bot.sendMessage(-154513121, "Hi")
J'ai testé maintenant et travaille comme un charme
Vous pouvez obtenir un ID de chat de cette manière.
En chat privé avec votre bot, envoyez un message au hasard. Vous chercherez ce message plus tard.
Obtenez votre jeton API de bot_father: XXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY
Ensuite, sur votre navigateur, faites une demande avec cette URL:
https://api.telegram.org/botXXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY/getUpdates
La demande renvoie une réponse json. Dans le texte json, recherchez votre random message
et obtenez un identifiant de discussion dans cet objet.
Vous pouvez récupérer l'ID de groupe de la même manière. Il apparaît dans le corps du message sous la forme message.chat.id
et il s'agit généralement d'un nombre négatif, où les discussions normales sont positives.
Les identifiants de groupe et les identifiants de conversation ne peuvent être récupérés qu'à partir d'un message reçu. Aucun appel n'est disponible pour récupérer des groupes actifs, etc. Vous devez vous souvenir de l'identifiant de groupe lorsque vous recevez le message et le stocker en cache ou quelque chose de similaire.
En utilisant python et en téléthon, il est très facile d’obtenir un identifiant de chat. Cette solution est idéale pour ceux qui travaillent avec les API de télégrammes.
Si vous n'avez pas de téléthon, lancez ceci:
pip install telethon
Si vous n'avez pas d'application enregistrée avec télégramme, enregistrez-en une: Le lien est le suivant: https://my.telegram.org/
Puis lancez le code suivant:
from telethon import InteractiveTelegramClient
from telethon.utils.tl_utils import get_display_name
client = InteractiveTelegramClient('session_id', 'YOUR_PHONE_NUMBER', api_id=1234YOURAPI_ID, api_hash='YOUR_API_HASH')
dialog_count = 10
dialogs, entities = client.get_dialogs(dialog_count)
for i, entity in enumerate(entities):
i += 1 # 1-based index
print('{}. {}. id: {}'.format(i, get_display_name(entity), entity.id))
Vous souhaiterez peut-être envoyer un message à votre groupe afin que celui-ci apparaisse en haut de la liste.