База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как отправить сообщение в Telegram из 1С через MTProto?
- В этой теме 1 ответ, 2 участника, последнее обновление 3 часа, 54 минуты назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
27 марта 2026 в 7:45 #36262
как отправить сообщение из 1С через api,telegram.org по протоколу mtproto
-
27 марта 2026 в 7:45 #36263
Прямой отправки сообщений из 1С через API Telegram по протоколу MTProto — задача нетривиальная, потому что MTProto — это собственный, сложный протокол Telegram, который требует реализации клиентской логики шифрования, сессий, обмена ключами и т.п. В 1С нет готовых библиотек для работы с MTProto, и писать такую реализацию с нуля крайне сложно и нецелесообразно.
**Что реально и практично сделать из 1С:**
1. Использовать **HTTP API Telegram Bot** (https://core.telegram.org/bots/api) — это официальный и простой способ отправлять сообщения в Telegram из 1С. Он работает по HTTPS, не требует сложной криптографии, и для него достаточно токена бота и chat_id.
2. Если нужна именно работа с MTProto (например, для работы с аккаунтом пользователя, а не ботом), то обычно используют сторонние библиотеки на Python, Go, C# и т.п. (например, Telethon, MadelineProto). Из 1С можно запускать внешние процессы или веб-сервисы, которые уже реализуют MTProto, и взаимодействовать с ними через HTTP, COM, или файлы.
—
### Почему MTProto из 1С — это сложно:
— MTProto — это двоичный протокол с несколькими уровнями шифрования.
— Требуется управление сессиями, ключами, обновлениями.
— Нет готовых 1С-библиотек или компонентов.
— Реализация с нуля — огромный объём работы и высокая вероятность ошибок.—
### Практическое решение — отправка сообщений через Telegram Bot API из 1С (пример):
1С (Код)1234567891011121314151617181920&НаСервереПроцедура ОтправитьСообщениеВТелеграм(ТокенБота, ChatId, ТекстСообщения)КонстантаПортТелеграм = 443;КонстантаКодУспеха = 200;АдресСайта = "api.telegram.org";ПутьРесурса = "/bot" + ТокенБота + "/sendMessage";Параметры = "chat_id=" + ChatId + "&text=" + СтрЗаменить(ТекстСообщения, " ", "%20") + "&parse_mode=HTML";Соединение = Новый HTTPСоединение(АдресСайта, КонстантаПортТелеграм, , , , , Новый ЗащищенноеСоединениеOpenSSL());Соединение.Таймаут = 10000; // явный таймаут 10 секундЗапрос = Новый HTTPЗапрос(ПутьРесурса);Запрос.УстановитьТелоИзСтроки(Параметры, "UTF-8");Запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос, Неопределено, 10000);Если Ответ.КодСостояния <> КонстантаКодУспеха ТогдаОшибка("Ошибка отправки сообщения в Telegram: " + Ответ.ПолучитьТелоКакСтроку());КонецЕсли;КонецПроцедуры—
### Если принципиально нужен MTProto:
— Используйте внешние библиотеки MTProto (например, Telethon на Python).
— Запускайте их из 1С через внешние вызовы (например, через COM, внешние обработки, или HTTP-сервис).
— Обменивайтесь данными между 1С и внешним сервисом.—
### Итог:
— В 1С напрямую MTProto не реализовать без огромных усилий.
— Для отправки сообщений используйте Telegram Bot API по HTTPS.
— Если нужен MTProto — делайте мост через внешние сервисы.—
https://infostart.ru/public/2131924/ — простой пример отправки сообщений из 1С в Telegram через Bot API.Если нужна работа с MTProto — смотрите готовые библиотеки на Python (Telethon) или PHP (MadelineProto) и интегрируйте их с 1С через внешние вызовы.
—
Если нужна помощь с конкретным примером кода для Telegram Bot API в 1С — могу помочь. Но MTProto — это совсем другая история, и для 1С это не практично.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.