我一直在使用telegram_bot,并试图获得groupChat id发送通知到组聊天,但不知道我必须使用哪些方法。
为了获得聊天id,当机器人参与聊天时,我使用message.chat.id,但我必须使用它来获得组聊天id,无法找到/
我一直在使用telegram_bot,并试图获得groupChat id发送通知到组聊天,但不知道我必须使用哪些方法。
为了获得聊天id,当机器人参与聊天时,我使用message.chat.id,但我必须使用它来获得组聊天id,无法找到/
当前回答
我发现的最简单的方法是只使用电报网:
开放网络。电报在浏览器(在我的情况下chrome) 右键单击左侧菜单上的组名 点击“检查”按钮 您将在属性中看到组id Data-peer-id ="-xxxxxxxxxx" or peer="-xxxxxxxxxx"
群聊id: -xxxxxxxxxx
频道聊天id: -100xxxxxxxxxx
(对于某些频道/组,您需要添加-100前缀)
编辑: 在某些情况下,当您单击组名时,ID会显示在浏览器的地址栏中
https://web.telegram.org/z/#-xxxxxxxxxx
其他回答
在我挣扎了几个小时后,下面是对我有用的顺序:
假设机器人名称为my_bot。
1-将机器人加入群组。 进入群组,点击群组名称,点击添加成员,在搜索框中像这样搜索你的bot: @my_bot,选择你的bot,点击添加。
2-发送一个虚拟消息给机器人。您可以使用以下示例:/my_id @my_bot (我试了一些消息,不是所有的消息都有效。上面的例子工作得很好。也许这条信息应该以/开头。
3-访问以下url: https://api.telegram.org/botXXX:YYYY/getUpdates 用你的bot令牌替换XXX:YYYY
4-查找"chat":{"id":-zzzzzzzzzz, -zzzzzzzzzz是你的聊天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")。
你可以通过这种方式获取聊天ID。
在与机器人的私人聊天中,随机发送一条消息。稍后您将搜索此消息。
从bot_father: XXXXXXXXX: yyyyyyyyyyyyyyyyyyyyy_yy获取api令牌
然后,在浏览器上使用该url发出请求:
https://api.telegram.org/botXXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY/getUpdates
请求返回一个json响应,在json文本中搜索你的随机消息,并在该对象中获得聊天id。
创建一个机器人,如果已经创建了,则如下所示:
可以访问消息
显然,不管Telegram群组有多老/多新:
向组中添加一个机器人 从组中移除机器人 再次将bot添加到组中 创建一个脚本文件并运行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());
}
登录控制台的功能如下:
[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"}]}}]}
电报组chat_id可以从上面的消息提取 “聊天”:{" id ": -1001202656383,“标题”
群组聊天id应该以-(减号)开头
This is wrong
10540154212
This is correct
-10540154212
function adminCheck( chat_id, name ) {
var bAdminCheck = false;
var contents = JSON.parse( getAdmin( chat_id ) );
var i = 0;
while( !bAdminCheck && (i < contents.result.length ) ) {
if( name == (contents.result[i].user.first_name + " " + contents.result[i].user.last_name) ) {
bAdminCheck = true;
}
i++;
}
return bAdminCheck;
}