我一直在使用telegram_bot,并试图获得groupChat id来向群聊发送通知,但不知道我必须使用哪些方法。
当机器人参与聊天时,我使用message.chat.id来获取聊天ID,但我必须使用哪种方法来获取群聊ID,我找不到/。
为了获得群聊ID,请按以下步骤操作。
1.将Telegram BOT添加到群组中。
2.获得你的BOT的更新列表。
https://api.telegram.org/bot<YourBOTToken>/getUpdates
前例。
https://api.telegram.org/bot123456789:jbd78sadvbdy63d37gda37bd8/getUpdates
3.寻找"聊天"对象。
{"update_id":8393,"message":{"message_id":3,"from" :{"id" 。7474,"first_name":"AAA"},"chat":{"id":
,"title":"<group name>"},"date":25497,"new_chat_participant":{"id":71,"first_name":"NAME","username":"YOUR_BOT_NAME"}}.
这是一个当你把你的BOT添加到一个组中时的响应样本。
4.使用"聊天"对象的"id"来发送你的信息。
以下是我在挣扎了几个小时后成功的序列。
假设机器人的名字是my_bot。
1- 将机器人加入群组。
进入群组,点击群组名称,点击添加成员,在搜索框中像这样搜索你的机器人。@my_bot,选择你的机器人并点击添加。
2- 向机器人发送一条假消息。
你可以使用这个例子:/my_id @my_bot
<br/>。
(我试了几条信息,不是所有的信息都能工作。上面的例子运行良好。也许信息应该以/开头)
3- 转到以下网址: https://api.telegram.org/botXXX:YYYY/getUpdates
将XXX:YYY替换成你的机器人令牌
4- 寻找"chat":{"id":-zzzzzzzz,<br/>。 -zzzzzzzz是你的聊天ID(带负号)。
5- 测试:你可以用curl测试向小组发送消息。
curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=-zzzzzzzzzz&text=my sample text"
如果你错过了第2步,就不会有你要找的那个组的更新。另外,如果有多个组,你可以在响应中寻找组名("title":"group_name")。
希望这有帮助。