电报自动程序向自身发送消息,但未在公共组中发送消息

时间:2019-09-16 01:57:30

标签: python telegram telegram-bot

我与@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。

1 个答案:

答案 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