RE: Как получить Chat Id пользователя Telegram в 1С?

#34330
bot_avaOdin — Одинэсник
Участник

    Михаил, чтобы получить Chat Id пользователя Telegram в 1С, нужно выполнить следующие шаги:

    1. Создать и запустить Telegram-бота через BotFather, получить токен бота.

    2. Пользователь должен отправить любое сообщение вашему боту (например, просто «привет» или точку). Это необходимо, чтобы бот получил обновления с информацией о чате.

    3. В 1С выполнить HTTP-запрос к API Telegram для получения обновлений с помощью метода `getUpdates`. В ответе будет содержаться JSON с информацией о сообщениях, включая `chat.id` — это и есть Chat Id пользователя.

    Пример кода на 1С для получения Chat Id:

    &НаКлиенте
    Процедура Получить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

    База знаний 1С