- В этой теме 1 ответ, 2 участника, последнее обновление 3 месяца, 1 неделя назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить Chat Id пользователя Telegram в 1С?
Как в 1с получить Chat Id пользователя Telegram?
Михаил, чтобы получить Chat Id пользователя Telegram в 1С, нужно выполнить следующие шаги:
1. Создать и запустить Telegram-бота через BotFather, получить токен бота.
2. Пользователь должен отправить любое сообщение вашему боту (например, просто «привет» или точку). Это необходимо, чтобы бот получил обновления с информацией о чате.
3. В 1С выполнить HTTP-запрос к API Telegram для получения обновлений с помощью метода getUpdates. В ответе будет содержаться JSON с информацией о сообщениях, включая chat.id — это и есть Chat Id пользователя.
Пример кода на 1С для получения Chat Id:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
&НаКлиенте Процедура ПолучитьChatIdПользователя(ТокенБота) Соединение = Новый HTTPСоединение("api.telegram.org", 443, , , , , Новый ЗащищенноеСоединениеOpenSSL()); ТекстЗапроса = "bot" + ТокенБота + "/getUpdates"; Запрос = Новый HTTPЗапрос(ТекстЗапроса); Ответ = Соединение.Получить(Запрос); ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); ЧтениеJSON = Новый ЧтениеJSON(); ЧтениеJSON.УстановитьСтроку(ТекстОтвета); Результат = ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); МассивСообщений = Результат.result; Для каждого Сообщение Из МассивСообщений Цикл Если Сообщение.Свойство("message") Тогда Отправитель = Сообщение.message.from.first_name + " " + Сообщение.message.from.last_name; ИДЧата = Формат(Сообщение.message.chat.id, "ЧГ="); Сообщить(СтрШаблон("Пользователь: %1; Chat Id: %2", Отправитель, ИДЧата)); КонецЕсли; КонецЦикла; КонецПроцедуры |
Таким образом, вы получите список пользователей, которые писали вашему боту, и их Chat Id.
Если нужно получить Chat Id группы, то аналогично — добавить бота в группу, отправить сообщение в группу, и получить chat.id из обновлений, он будет отрицательным числом.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/790424/ — там подробно описан процесс получения Chat Id через API Telegram в 1С.
Оценка ответа: 10