В сервис логирования OsEngine добавлен функционал отправки сообщений в Телеграм.
Там же добавлена возможность принимать и обрабатывать команды от своего Телеграм-бота.
1. Создание бота в Telegram для приема сообщений.
Нам будет нужен бот в самом мессенджере Телеграм. Для его создания используем BotFather – это официальный бот мессенджера, который позволяет создавать ботов и управлять ими.
Ищем его в поиске Телеграм:
Открываем его и начинаем с ним чат (команда “/start” или Запустить):
BotFather отвечает списком команд, нам нужна команда – “/newbot” – вводим ее. В ответ предлагается выбрать имя нашему новому боту. Придумываем и вводим, например, “newOSAbot”.
Далее предлагается выбрать имя пользователя, оканчивающееся на “bot”. Делаем его, просто приписав в конец то, что нужно - “newOSAbot_bot”.
Вот так в итоге выглядит диалог создания бота:
BotFather сообщил нам об успешном создании бота и выдал Токен, который нужно куда-то сохранить. Он нам будет нужен для работы.
При необходимости созданных в BotFather ботов можно настраивать – добавлять описание, команды, устанавливать аватар и прочее.
Далее нам нужно узнать свой Telegram ID. Для этого можно использовать вот этого бота: https://t.me/userinfobot
Запускаем бота, и он выдает нам в ответ ID, сохраняем его рядом с Токеном.
Вот как это выглядит:
Давайте теперь проверим нашего вновь созданного бота. Вводим в поиске Телеграм имя бота (newOSAbot_bot) и запускаем его. Проверить отправку ему сообщений можно в браузере. Для этого в адрес ("https://api.telegram.org/bot + Token + /sendMessage?chat_id= + ID + &text=Hello!") надо вставить наши Токен и ID:
Если все правильно, то в чат с ботом придет приветственное сообщение:
Впоследствии все уведомления от робота OsEngine будут приходить сюда же.
2. Пример робота в OsEngine.
Робот пример находится здесь:
Ссылка на исходный код на ГитХаб: https://github.com/AlexWan/OsEngine
3. Подключаем робота.
Даем боту имя, выбираем ParabolicSarTrade, нажимаем «Accept».
Открываем отдельное окно робота и жмём дважды ЛКМ на таблице с бот-логом:
Откроется окно:
На вкладке Newsletter настраиваем Telegram server:
1. Выбираем Regime – On;
2. Отмечаем галочками какой тип данных мы хотим получать.
3. Нажимаем Configure Telegram.
4.
a. Заполняем Bot token;
b. Заполняем Chat ID;
c. Ставим галочку, если хотим принимать команды от телеграм-бота;
d. Нажимаем «Accept».
5. Нажимаем кнопку «Accept» пункт 4 на предыдущем окне.
Для каждого бота таким же образом выполняем настройки принимаемых сообщений.
Ниже пример работы бота с включенными командами.
При снятой галочке «Processing Command from Telegram» кнопки команд в телеграм-боте отображаться не будут.
Для того, чтобы иметь возможность принимать и обрабатывать команды, нужно в конструкторе вашего торгового бота подписаться на событие TelegramCommandEvent.
Приватное поле _lastRegime служит для запоминания состояния бота перед его отключением.
В приватном методе TelegramCommandHandler осуществляется обработка поступивших команд.
В данный момент это – StopAllBots, StartAllBots, CancelAllActiveOrders и GetStatus.
Логику обработки команд определяете вы сами. Выше простейший пример использования.
В остальных местах тип сообщений остается обычным.
4. Рассылка из Коннекторов.
Точно также настраивается отправка сообщений из лога подключений:
Включаем те типы сообщений, которые хотим видеть в телеграмме:
После чего лог сервера идёт в телеграмм.
Получили лог в OsEngine:
Получили лог в Телеграмм:
Сообщения об ошибках выделяются подчеркиванием.
Удачных алгоритмов!
Поддержка OsEngine: https://t.me/osengine_official_support
Комментарии