class CCustomMessage
Класс-контейнер, описывающий одно сообщение Telegram: хранит идентификаторы обновления и сообщения, данные отправителя и чата, дату и текст сообщения.
Сообщите нам, если считаете, что материал размещён без разрешения.
Обращение по товару «telegram.mqh» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Данный исходный файл представляет собой библиотеку для языка MQL, предназначенную для взаимодействия торгового терминала с сервисом Telegram. Библиотека инкапсулирует работу с HTTP-запросами к сервису и предоставляет удобные классы для отправки сообщений, фотографий и уведомлений о действиях, а также для приёма и разбора входящих обновлений.
Основу составляют три класса. Класс сообщения хранит данные одного входящего сообщения: идентификаторы, сведения об отправителе и чате, дату и текст. Класс чата описывает отдельный диалог с его последним и новым сообщением, состоянием и временем. Класс бота объединяет работу с токеном, именем бота, списком чатов и фильтром пользователей, а также содержит методы отправки и приёма данных.
Библиотека позволяет задать токен бота, получить сведения о боте, запросить новые обновления, отправить текстовое сообщение в чат или канал, отправить фотографию по идентификатору или загрузить локальный файл изображения, а также отправить уведомление о текущем действии. Дополнительно предусмотрены вспомогательные методы для формирования разметки клавиатуры и преобразования действий чата в строку.
Для работы с сетью используется стандартный механизм HTTP-запросов терминала, а для разбора ответов применяется разбор JSON. Библиотека не содержит торговой логики и не выполняет торговых операций: её назначение — обеспечить обмен данными между программой на MQL и сервисом Telegram.
Классов: 3 · методов: 16 · конструкторов: 2 · деструкторов: 0 · отдельных функций: 1
class CCustomMessage
Класс-контейнер, описывающий одно сообщение Telegram: хранит идентификаторы обновления и сообщения, данные отправителя и чата, дату и текст сообщения.
class CCustomChat
Класс-контейнер, описывающий отдельный чат: идентификатор чата, последнее и новое сообщение, состояние и время.
class CCustomBot
Класс для работы с ботом Telegram: хранит токен, имя бота, список чатов и фильтр пользователей, а также предоставляет методы отправки и приёма сообщений.
string ChatActionToString(const ENUM_CHAT_ACTION _action)
Преобразует значение перечисления действия чата в строку, используемую при отправке уведомлений.
CCustomMessage()
Конструктор класса сообщения, задающий всем полям начальные пустые значения.
void CCustomBot()
Конструктор бота, сбрасывающий токен, имя, счётчик обновлений, список чатов и фильтр пользователей.
int ChatsTotal()
Возвращает общее количество чатов, сохранённых в списке бота.
int Token(const string _token)
Устанавливает токен бота после удаления лишних пробелов; возвращает код ошибки, если токен пуст.
void UserNameFilter(const string username_list)
Задаёт список имён пользователей для фильтрации входящих сообщений; поддерживает разделители и символ @.
string Name()
Возвращает имя бота, полученное ранее от сервиса.
int GetMe()
Запрашивает у сервиса сведения о боте и сохраняет его имя; возвращает код результата.
int GetUpdates()
Запрашивает у сервиса новые обновления, разбирает их и обновляет список чатов бота; возвращает код результата.
int SendChatAction(const long _chat_id, const ENUM_CHAT_ACTION _action)
Отправляет в указанный чат уведомление о действии, например о наборе текста или отправке файла.
int SendPhoto(const long _chat_id, const string _photo_id, const string _caption)
Отправляет фотографию в чат по её идентификатору с необязательной подписью.
int SendPhoto(string &_photo_id, const string _channel_name, const string _local_path, const string _caption, const bool _common_flag, const int _timeout)
Загружает локальный файл изображения и отправляет его в указанный канал; возвращает идентификатор загруженной фотографии.
int SendPhoto(string &_photo_id, const long _chat_id, const string _local_path, const string _caption, const bool _common_flag, const int _timeout)
Загружает локальный файл изображения и отправляет его в указанный чат; возвращает идентификатор загруженной фотографии.
void ProcessMessages(void)
Виртуальный метод-заглушка, предназначенный для переопределения в наследниках и обработки входящих сообщений.
int SendMessage(const long _chat_id, const string _text, const string _reply_markup, const bool _as_HTML, const bool _silently)
Отправляет текстовое сообщение в указанный чат с возможностью разметки HTML, скрытой доставки и дополнительной клавиатуры.
int SendMessage(const string _channel_name, const string _text, const bool _as_HTML, const bool _silently)
Отправляет текстовое сообщение в указанный канал с возможностью разметки HTML и скрытой доставки.
string ReplyKeyboardMarkup(const string keyboard, const bool resize, const bool one_time)
Формирует строку разметки для пользовательской клавиатуры с настройками изменения размера и одноразового показа.
string ReplyKeyboardHide()
Формирует строку разметки для скрытия пользовательской клавиатуры.
string ForceReply()
Формирует строку разметки для принудительного ответа на сообщение.
********Показано первые 50% кода (символов: 53595)
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.