电报机器人 – 如何获得群聊ID?
我一直在使用telegram_bot ,并试图让groupChat id发送通知到群聊,但不知道我有哪些方法使用它。
为了获得聊天ID,我使用message.chat.id时,机器人参与聊天,但我必须使用获取群聊ID无法find/
为了获得群聊ID,请按如下操作:
-
将电报BOT添加到组。
-
获取您的BOT的更新列表:
https://api.telegram.org/bot<YourBOTToken>/getUpdates
例如:
https://api.telegram.org/botjbd78sadvbdy63d37gda37bd8/getUpdates
-
寻找“聊天”对象:
“从” 3::{ “UPDATE_ID”:8393, “消息”:{ “MESSAGE_ID”{ “ID”:7474, “如first_name”: “AAA”}, “聊天”:{ “ID”:“标题“:” “},” date “:25497”,new_chat_participant “:{” ID “:71”,如first_name “:” NAME”, “用户名”: “YOUR_BOT_NAME”}}}
这是您将BOT添加到组中时的响应示例。
- 使用“聊天”对象的“ID”发送您的消息。
这是几个小时挣扎之后为我工作的序列:
假设机器人名称是my_bot 。
1-将bot添加到组中。
转到组,点击组名,点击添加成员,在search框中search你的机器人:@my_bot,select你的机器人,然后点击添加。
2-发送一个虚拟消息到机器人。
你可以使用这个例子: /my_id @my_bot
(我试过几条消息,并不是所有的消息都可以工作,上面的例子工作正常,也许消息应该以/开始)
3-转到以下url: https://api.telegram.org/botXXX:YYYY/getUpdates
://api.telegram.org/botXXX:YYYY/ https://api.telegram.org/botXXX:YYYY/getUpdates
用您的bot令牌replaceXXX:YYYY
4-寻找“聊天”:{“id”: – zzzzzzzzzz,
-zzzzzzzzzz是您的聊天ID(带负号)。
5 testing:您可以testing发送消息给curl的组:
curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=-zzzzzzzzzz&text=my sample text"
如果你错过了第二步,你所寻找的小组将不会有更新。 另外,如果有多个组,则可以在响应中查找组名(“title”:“ group_name ”)。
希望这可以帮助。
您可以以相同的方式检索组ID。 它在消息体中显示为message.chat.id
,它通常是一个负数,正常聊天是正的。
组ID和聊天ID只能从收到的消息中检索,没有可用的调用来检索活动组等。当您收到消息并将其存储在caching或类似内容中时,您必须记住组ID。
截至2017年底,只需:
- 邀请@RawDataBot到你的组。
join后,会输出一个JSON文件,其中您的聊天ID将位于message.chat.id 。
"message": { "chat": { "id": -210987654, "title": ..., "type": "group", ... } ... }
之后一定要踢你的小组的@RawDataBot。
使用python和telethon很容易获得聊天ID。 这个解决scheme最适合那些使用电报API的人。
如果你没有telethon,运行这个:
pip install telethon
如果您没有电报注册的应用程序,请注册一个: 链接是这样的: https : //my.telegram.org/
然后运行下面的代码:
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))
您可能希望向您的群组发送消息,以便群组显示在列表的顶部。
- 错误的angular度testing无法在“XMLHttpRequest”上执行“发送”
- 适用于Android的Visual Studio模拟器 – 安装Gapps(Google Play Services)