Rom*_*tov 126 telegram telegram-bot
我一直在使用telegram_bot,并试图让groupChat id向群聊发送通知,但不知道我必须使用哪种方法.
为了获得聊天ID我使用message.chat.id当机器人参与聊天但我必须使用它来获取群聊无法找到/
Mav*_*ava 162
要获取群聊ID,请执行以下操作:
将Telegram BOT添加到组中.
获取BOT的更新列表:
https://api.telegram.org/bot<YourBOTToken>/getUpdates
Run Code Online (Sandbox Code Playgroud)
例如:
https://api.telegram.org/bot123456789:jbd78sadvbdy63d37gda37bd8/getUpdates
Run Code Online (Sandbox Code Playgroud)寻找"聊天"对象:
"从" 3::{ "UPDATE_ID":8393, "消息":{ "MESSAGE_ID"{ "ID":7474, "如first_name": "AAA"}, "聊天":{ "ID":"标题":" "}," 日期 ":25497",new_chat_participant ":{" ID ":71",如first_name ":" NAME", "用户名": "YOUR_BOT_NAME"}}}
这是将BOT添加到组中时的响应示例.
apa*_*ana 118
这是在经过几个小时的努力后对我有用的序列:
假设机器人名称是my_bot.
1-将bot添加到组中.
转到该组,单击组名称,单击添加成员,在搜索框中搜索您的机器人,如下所示:@my_bot,选择您的机器人,然后单击添加.
2-向机器人发送虚拟消息.
您可以使用此示例:( /my_id @my_bot
我尝试了一些消息,并非所有消息都有效.上面的示例工作正常.也许消息应该以/开头)
3-转到以下网址: https://api.telegram.org/botXXX:YYYY/getUpdates
将XXX:YYYY替换为机器人令牌
4-寻找"聊天":{"id": - zzzzzzzzzz,
-zzzzzzzzzz是你的聊天ID(带负号).
5- 测试:您可以测试使用curl向组发送消息:
curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=-zzzzzzzzzz&text=my sample text"
Run Code Online (Sandbox Code Playgroud)
如果您错过了第2步,则无法更新您要查找的组.此外,如果有多个组,您可以在响应中查找组名称("title":" group_name ").
希望这可以帮助.
eiv*_*amu 70
截至2018年中期,简单地说:
加入后,它将输出一个JSON文件,其中您的聊天ID将位于message.chat.id.
"message": {
"chat": {
"id": -210987654,
"title": ...,
"type": "group",
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
之后一定要从你的小组中踢出@RawDataBot.
zak*_*a35 68
我发现仅使用 telegram-web 的最简单方法:
群聊ID:-xxxxxxxxxx
频道聊天 ID : -100xxxxxxxxxx
(对于某些频道/组,您需要添加 -100 前缀)
编辑:在某些情况下,当您单击组名称时,ID 会显示在浏览器地址栏中
https://web.telegram.org/z/#-xxxxxxxxxx
Sed*_*rei 32
2018年中期之后:
1 :)邀请@getidsbo或@RawDataBot您的小组,并在已发送的聊天ID字段中获取您的小组ID.
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
Run Code Online (Sandbox Code Playgroud)
2 :)使用像Plus Messenger这样的unofficicl Messenger ,在组/频道信息中查看你的组ID.
在2018年中期之前:(不要使用)
1:转到(https://web.telegram.org)
2:转到你的Gorup并找到你的Gorup链接(https://web.telegram.org/#/im ?p = g154513121)
3:复制g之后的那个数字然后放一个( - )之前那个-154513121
4:发送你的消息给Gorup
bot.sendMessage(-154513121, "Hi")
我现在测试并像魅力一样工作
小智 10
群聊 ID 应以-(减号)开头,这是必需的
This is wrong
10540154212
This is correct
-10540154212
Run Code Online (Sandbox Code Playgroud)
您可以通过这种方式获得聊天ID.
在与您的机器人私聊时,发送随机消息.您稍后将搜索此消息.
从bot_father获取您的API令牌: XXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY
然后,在您的浏览器上使用该URL发出请求:
https://api.telegram.org/botXXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY/getUpdates
Run Code Online (Sandbox Code Playgroud)
请求返回一个json响应,在json文本中搜索你的random message并在该对象中获取聊天ID.
我对错误 {"ok":true,"result":[]} 的第二个解决方案
@getidsbot/start@getidsbothttps://api.telegram.org/botAPITOKENNUMBER:APITOKENKEYHERE/sendmessage?chat_id=-100GROUPNUMBER&text=test
编辑 API 令牌和组 ID!
您可以以相同的方式检索组ID.它出现在消息正文中,message.chat.id并且通常是负数,正常聊天是正数.
只能从收到的消息中检索组ID和聊天ID,没有可用于检索活动组等的呼叫.您必须在收到消息时记住组ID并将其存储在缓存或类似内容中.
使用python和telethon可以很容易地获得聊天ID。此解决方案最适合使用电报API的用户。
如果您没有Telethon,请运行以下命令:
pip install telethon
Run Code Online (Sandbox Code Playgroud)
如果您没有使用电报注册的应用程序,请注册一个:
链接是这样的: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))
Run Code Online (Sandbox Code Playgroud)
您可能想向群组发送一条消息,以便该群组显示在列表顶部。
小智 5
创建一个机器人,或者如果已经创建了如下设置:
可以访问消息
显然,无论 Telegram 组的新旧程度如何:
将机器人添加到组中
从组中删除机器人
再次将机器人添加到组中
创建脚本文件并运行getUpdates方法示例:
var vApiTokenTelegram = "1234567890:???>yg5GeL5PuItAOEhvdcPPELAOCCy3jBo"; // @?????Bot API token
var vUrlTelegram = "https://api.telegram.org/bot" + vApiTokenTelegram;
function getUpdates() {
var response = UrlFetchApp.fetch(vUrlTelegram + "/getUpdates");
console.log(response.getContentText());
}
Run Code Online (Sandbox Code Playgroud)
[20-04-21 00:46:11:130 PDT] {"ok":true,"result":[{"update_id":81329501,
"message":{"message_id":975,"from":{"id":962548471,"is_bot":false,"first_name":"Trajano","last_name":"Roberto","username":"TrajanoRoberto","language_code":"en"},"chat":{"id":-1001202656383,"title":"R\u00e1dioRN - A voz da na\u00e7\u00e3o!","type":"supergroup"},"date":1587454914,"left_chat_participant":{"id":1215098445,"is_bot":true,"first_name":"MediaFlamengoRawBot","username":"MediaFlamengoRawBot"},"left_chat_member":{"id":1215098445,"is_bot":true,"first_name":"MediaFlamengoRawBot","username":"MediaFlamengoRawBot"}}},{"update_id":81329502,
"message":{"message_id":976,"from":{"id":962548471,"is_bot":false,"first_name":"Trajano","last_name":"Roberto","username":"TrajanoRoberto","language_code":"en"},"chat":{"id":-1001202656383,"title":"R\u00e1dioRN - A voz da na\u00e7\u00e3o!","type":"supergroup"},"date":1587454932,"new_chat_participant":{"id":1215098445,"is_bot":true,"first_name":"MediaFlamengoRawBot","username":"MediaFlamengoRawBot"},"new_chat_member":{"id":1215098445,"is_bot":true,"first_name":"MediaFlamengoRawBot","username":"MediaFlamengoRawBot"},"new_chat_members":[{"id":1215098445,"is_bot":true,"first_name":"MediaFlamengoRawBot","username":"MediaFlamengoRawBot"}]}}]}
Run Code Online (Sandbox Code Playgroud)
"chat":{"id":-1001202656383,"title"/start您可以通过向机器人发送消息来获取您的 IDuserinfobot
注意:一旦您在 telegram 中搜索 userinfobot,您会得到很多回复。
@bot确保您选择带有标签的那个