我与@botfather制作了一个电报机器人,并将其提升为公共团体的管理员。每当我尝试从python代码发送消息时,它总是将消息发送给自己,我的意思是在私人聊天中,而不是在公共组中。
所写代码的快照:
bot_token = 'XXXXXXXXXXXXXXXXXXX'
bot_chatID = '395014927'
bot_message = "Testing"
send_text = 'https://api.telegram.org/bot' + bot_token + '/sendMessage?chat_id=' + bot_chatID + '&text=' + bot_message
response = requests.get(send_text)
response.json()
如何让漫游器将消息发送到组中而不是发送给自身?
我在这里缺少什么吗?还是需要修改某些设置?
编辑(已解决):聊天组始终为负数。查找该号码以获取该群组的聊天ID。
答案 0 :(得分:3)
您应该将消息发送到组chat_id
。看来您是在向自己或自己的机器人发送消息。为什么?因为组或超组的chat_id
以-
负号开头。例如:-1001331798505
是我的超级组的chat_id
。
"ok": true,
"result": [{
"update_id": 751829615,
"message": {
"message_id": 5968,
"from": {
"id": 223110107,
"is_bot": false,
"first_name": "\u011e\u0105me",
"last_name": "\u01fever!",
"username": "GameO7er",
"language_code": "en"
},
"chat": {
"id": -257326110,
"title": "This group is not Super Group",
"type": "group",
"all_member s_are_administrators": true
},
您会看到 type:group
这是超级组
的一个示例 {
"ok": true,
"result": [{
"update_id": 751829616,
"message": {
"message_id": 141,
"from": {
"id": 223110107,
"is_bot": false,
"first_name": "\u011e\u0105me",
"last_name": "\u01fever!",
"username": "GameO7er",
"language_code": "en"
},
"chat": {
"id": -1001241538300,
"title": "this groups is supergroup",
"type": "supergroup"
},
"date": 1568644531,
"text": "A"
}
}]
}
您会看到 type:supergroup
如果您不知道如何获取组的ID,则可以阅读此link