J'utilise telegram_bot et j'essaie d'obtenir l'ID groupChat pour envoyer des notifications au chat de groupe, mais je ne sais pas quelles méthodes je dois utiliser pour cela.
Pour obtenir l'identifiant de chat, j'utilise message.chat.id lorsque le bot a participé au chat mais que je dois utiliser pour obtenir l'identifiant de chat de groupe ne peut pas trouver /
telegram
telegram-bot
Roman Podpryatov
la source
la source
Réponses:
Pour obtenir l'identifiant de discussion de groupe, procédez comme suit:
Ajoutez le Telegram BOT au groupe.
Obtenez la liste des mises à jour pour votre BOT:
Ex:
Recherchez l'objet "chat":
Ceci est un exemple de la réponse lorsque vous ajoutez votre BOT dans un groupe.
la source
getUpdates
retourne demande{"ok":true,"result":[]}
même si je tente d'envoyer des messages tas au groupe et bot via mention@
et quelques « commandes » au hasard/my_id
,/start
,/help
. Une idée de ce qu'on peut faire? - MISE À JOUR: OK, la suppression du bot du groupe et l'ajout du bot ont résolu ce problème (il a également imprimé l'identifiant de chat dans le groupe) --- il semble que le bot ne puisse pas être ajouté lors de la création du 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 dans le groupe, cliquez sur le nom du groupe, cliquez sur Ajouter des membres, dans la boîte de recherche recherchez votre bot comme ceci: @my_bot, sélectionnez votre bot et cliquez sur ajouter.
2- Envoyez 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 correctement. Peut-être que le message devrait commencer par /)
3- Allez à l'url suivante:
https://api.telegram.org/botXXX:YYYY/getUpdates
remplacez XXX: YYYY par votre token bot
4- Recherchez "chat": {"id": - zzzzzzzzzz,
-zzzzzzzzzz est votre identifiant de chat (avec le signe négatif).
5- Test: Vous pouvez tester l'envoi d'un message au groupe avec une boucle:
Si vous manquez l'étape 2, il n'y aura pas de mise à jour pour le groupe que vous recherchez. En outre, s'il existe plusieurs groupes, vous pouvez rechercher le nom du groupe dans la réponse ("title": " group_name ").
J'espère que cela t'aides.
la source
/
like/test something
rend getUpdates heureux.À partir de mars 2020, il suffit de:
Lors de la connexion, il affichera un fichier JSON où votre identifiant de chat sera situé à message.chat.id .
Assurez-vous de renvoyer @RawDataBot de votre groupe par la suite.
la source
Après mi-2018:
1 :) Invitez @getidsbo ou
@RawDataBot
dans votre groupe et obtenez votre identifiant de groupe dans le champ d'identifiant de chat envoyé.2 :) utilisez un Messenger non officiel comme Plus Messenger et voyez votre identifiant de groupe dans les informations du groupe / canal.
Avant mi-2018: (ne pas utiliser)
1: Goto ( https://web.telegram.org )
2: Accédez à 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 cela
-154513121
4: Envoyez votre message à Gorup
bot.sendMessage(-154513121, "Hi")
J'ai testé maintenant et fonctionne comme un charme
la source
After mid-2018
méthode.Vous pouvez obtenir l'identifiant de chat de cette manière.
En chat privé avec votre bot, envoyez un message aléatoire. Vous rechercherez ce message plus tard.
Obtenez votre jeton API auprès de bot_father:
XXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY
Ensuite, sur votre navigateur, faites une demande avec cette URL:
La requête renvoie une réponse json, dans le texte json, recherchez votre
random message
et obtenez l'identifiant de chat dans cet objet.la source
En utilisant python et téléthon, il est très facile d'obtenir un identifiant de chat. Cette solution est la meilleure pour ceux qui travaillent avec l'API de télégramme.
Si vous n'avez pas de téléthon, lancez ceci:
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/
Exécutez ensuite le code suivant:
Vous souhaiterez peut-être envoyer un message à votre groupe pour que le groupe apparaisse en haut de la liste.
la source
Vous pouvez récupérer l'ID de groupe de la même manière. Il apparaît dans le corps du message comme
message.chat.id
et c'est généralement un nombre négatif, où les discussions normales sont positives.Les ID de groupe et les ID de conversation ne peuvent être récupérés qu'à partir d'un message reçu, il n'y a aucun appel disponible pour récupérer les groupes actifs, etc. Vous devez vous souvenir de l'ID de groupe lorsque vous recevez le message et le stocker dans le cache ou quelque chose de similaire.
la source
créer un bot, ou s'il est déjà créé, définissez comme suit:
a accès aux messages
apparemment, quel que soit l'ancien / le nouveau du groupe Telegram:
ajouter à nouveau le bot au groupe
créer un fichier de script et exécuter un
getUpdates
exemple de méthode:"chat":{"id":-1001202656383,"title"
J'espère que cela aide (HTH)
la source
bot reçoit le message suivant provenant d'un groupe Telegram ayant un bot coexistant:
extraire les données selon les besoins
/* Contenu
la source
À mon humble avis, la meilleure façon de le faire est d'utiliser TeleThon, mais étant donné que la réponse d' apadana est dépassée au-delà de toute réparation, j'écrirai la solution de travail ici:
cet extrait de code vous donnera les premières
10
discussions dans votre télégramme.Hypothèses:
telethon
etnest_asyncio
installéapi_id
etapi_hash
de my.telegram.orgla source
la source
Si vous implémentez votre bot, conservez un nom de groupe -> table d'id, et demandez-le avec une commande. Ensuite, vous pouvez également envoyer par nom.
la source