Telegram Bot - как да получите Id за групов чат?

Използвам telegram_bot и се опитвам да получа groupChat id, за да изпращам известия в групов чат, но не знам кои методи трябва да използвам за това.

За получаването на id на чата използвам message.chat.id, когато ботът участва в чата, но кое трябва да използвам за получаването на id на груповия чат не мога да намеря/

За да получите идентификатора на груповия чат, направете следното:

  1. Добавете Telegram BOT към групата.

  2. Получете списъка с актуализации за вашия BOT:

     https://api.telegram.org/bot/getUpdates

    Пример:

     https://api.telegram.org/bot123456789:jbd78sadvbdy63d37gda37bd8/getUpdates
  3. Потърсете обекта "chat":

{"update_id":8393,"message":{"message_id":3,"from":{"id":7474,"first_name":"AAA"},"chat":{"id":,"title":" name>"},"date":25497,"new_chat_participant":{"id":71,"first_name":"NAME","username":"YOUR_BOT_NAME"}}}

Това е образец на отговора при добавяне на вашия BOT в група.

  1. Използвайте "id" на обекта "chat", за да изпращате съобщенията си.
Коментари (16)

Ето последователността, която ми помогна, след като се борих в продължение на няколко часа:

Предполагаме, че името на бота е my_bot.

1- Добавете бота в групата.
Отидете в групата, щракнете върху името на групата, щракнете върху Add members (Добавяне на членове), в полето за търсене потърсете вашия бот по следния начин: @my_bot, изберете своя бот и кликнете върху добавяне.

2- Изпратете фиктивно съобщение на бота.
Можете да използвате този пример: /my_id @my_bot
(Опитах няколко съобщения, не всички съобщения работят. Примерът по-горе работи добре. Може би съобщението трябва да започва с /)

3- Отидете на следния адрес: https://api.telegram.org/botXXX:YYYY/getUpdates
Заменете 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").

Надявам се това да помогне.

Коментари (10)

Можете да извлечете идентификатора на групата по същия начин. Той се появява в тялото на съобщението като message.chat.id и обикновено е отрицателно число, докато при нормалните чатове е положително.

Идентификаторите на групи и на чатове могат да се извличат само от получено съобщение, няма налични повиквания за извличане на активни групи и т.н. Трябва да запомните идентификатора на групата, когато получите съобщението, и да го съхраните в кеш или нещо подобно.

Коментари (1)