проблема с методом пересылки сообщений в боте telegram - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь переслать сообщение в API бота telegram в python. Он показывает «Неверный запрос: chat_id пуст», несмотря на использование того же chat_id в sendMessage, и он прекрасно работает.

https://api.telegram.org/bot{BOT_TOKEN}/forwardMessage?chat_id={CHAT_ID}&from_chat_id={ID}&message_id={MID}

Моя проблема в том, что такое идентификатор сообщения и как его найти? например, идентификатор чата похож на этот номер 123456789.

как выглядит идентификатор сообщения?

1 Ответ

0 голосов
/ 08 ноября 2019

Вы бот. Итак, люди взаимодействуют с вами (напрямую или в группе). Когда сообщение будет отправлено вашему боту, вы получите обратный вызов, который включает в себя детали сообщения (включая chat_id, идентификатор чата отправителя, идентификатор сообщения и все другие детали). Примерно так (см. message->message_id и message->from_id):

{ 
   "update_id":1111,
   "message":{ 
      "message_id":111,
      "from":{ 
         "id":1111,
         "is_bot":false,
         "first_name":"...",
         "last_name":"...",
         "username":"...",
      },
      "chat":{ 
         "id":1111,
         "first_name":"...",
         "last_name":"...",
         "username":"...",
         "type":"private"
      },
      "date": 1111,
      "text":"...."
   }
}

Итак, вы можете сохранить эти данные и использовать их для пересылки этого сообщения в другой чат. В каждом чате (уникальный идентификатор чата) каждое сообщение имеет идентификатор чата (обычно это инкрементный номер), и с помощью этих двух идентификаторов вы можете однозначно выбрать, какое сообщение из какого чата следует переадресовать.

...