Как получать сообщения от бота в Телеграмме

MyBot: Управление и уведомление в Telegram | Настройка

Совсем недавно я озадачился, как можно управлять MyBot на расстоянии, буквально с универсального пульта. Удаленный рабочий стол мне не подошел, так как для него нужно хорошее подключение к интернету, а вот управление через месседжер, самое то.

Помимо управления, конечно же основной функцией является отслеживание работоспособности бота. На данный момент MyBot, получил масштабное улучшение, переписав код программы и следить за ним теперь нужно на много больше. Так как большинство ботоводов используют выделенные сервера, например VPS, я даже инструкцию писал и заснял. Так вот, на этих серверах боты не так идеально работают, это ведь не полноценна машина и практически на это не рассчитана. Естественно за сервера нужно платить и не очень хотелось бы, чтобы бот простаивал и не использовал то время, за которое заплатил.

Бот обратной связи Телеграм | Как сделать бота обратной связи в Телеграм

На данный момент я активно использую мессдежер, под названием Телеграм или Telegram, отличный или даже лучший способ обменом сообщений и не только. Что в нем такого интересного, вы скажете, да много все и именно его функционал. Телеграм поддерживает так называемых ботов, которые позволяют делать различные задачи, если вам интересно, то лучше поискать в гугле.

Так вот, при помощи бота мы и будет создавать уведомления, нам нужно будет придумать имя на которе будет приходить информация и от куда будет отдавать свои команда. Это достаточно все просто, по этому не думайте, что сделать это нереально. А если вы уже пользовались или пользуетесь Телеграмом, то вам еще проще будет.

Нужно знать про MyBot

  • Все что нужно знать о ботах для Clash of Clans
  • Все необходимое для бота MyBot
  • Как использовать бота без компьютера

Инструкция MyBot

  • Регистрируемся в Телеграме, для этого достаточно перейти по данной ссылке. Заметьте, если вы зарегистрированы, то просто введите свой телефон или проделайте всю манипуляцию ниже на своем устройстве.
  • После ввода телефона, нам нужно активировать при помощи кода с смс (код также может прийти на ваше мобильное устройство в Телеграме)
  • После чего вводим login, который будет отображаться в месседжере, либо вы сразу попадете на главное окно.

Команды Telegram

Как создать умный чат-бот в Telegram

  • HELP — Запрос, на список возможностей
  • RESTART — Перезагрузка бота и эмулятора
  • STOP — Остановка бота
  • PAUSE — Пауза бота
  • RESUME — Выход из паузы
  • STATS — Запрос на статистику данных деревни
  • LOG — Запрос на фал лога
  • LASTRAID — Запрос на последний скриншот
  • LASTRAIDTXT — Запрос на последнюю добычу
  • SCREENSHOT — Запрос на скриншот (делается скриншот деревни)
  • SCREENSHOTHD — Запрос на скриншот в высоком разрешении
  • BUILDER — Запрос на статус строителей
  • SHIELD — Запрос на статус щита
  • RESETSTATS — Сбросить статистику деревени
  • TROOPS — Запрос на статистику войск и заклинаний
  • HALTATTACKON — Включить остановку атаки
  • HALTATTACKOFF — Отключить остановку атаки
  • HIBERNATE — Гибернация компьютера
  • SHUTDOWN — Выключить компьютер
  • STANDBY — Ожидание компьютера

Достаточно удобно получить скриншот последнего лута на автоматическом уровне, потому что я знаю, что бот находится онлайн. Также очень интересные возможности по запросу разной статистики, помогут вам определять, какая тактика лучше.

Источник: goldclan.ru

Как получать сообщения от бота в телеграмме

Информация, приведенная в статье, актуальна начиная с релиза 3.1.48. На более ранних релизах могут быть различия.

В БИТ.ФИНАНС реализовано взаимодействие с ботами Telegram. Взаимодействие можно разделить на четыре категории:

Общие настройки

После этого необходимо последовательно ввести две команды: /start и /newbot. В ответ бот попросит придумать имя новому боту.

Имя бота может быть любым. После того как введено имя потребуется ввести наименование бота, оно в отличии от имени должно быть уникальным и заканчиваться на bot.

В случае успеха будет возвращено сообщение с уникальным токеном бота. Он понадобится в дальнейшем при настройке взаимодействия непосредственно в системе. Более подробная информация о создании бота по ссылке: https://core.telegram.org/bots

Никому не сообщайте токен бота. Он может быть использован для контроля над Вашим ботом.
Отправка оповещений в Telegram

Для отправки оповещений в Telegram из системы в первую очередь необходимо в разделе «Настройки (БИТ)» -> «Управление оповещениями» открыть справочник «Боты Telegram» и создать новый элемент.

При создании элемента справочника необходимо будет заполнить имя бота, его токен, а так же наименование:

После записи можно будет проверить бота. Для этого необходимо нажать кнопку «Проверить». В случае, если проверка пройдет успешно, система вернет сообщение: «Проверка выполнена успешно».

Также есть возможность задать настройки прокси соединения, нажав кнопку «Настройки прокси»:

Помимо этого можно установить пин-код. Он необходим для того, чтобы отсечь ненужных пользователей, которые могут запросить регистрацию у вашего бота.

После настройки бота необходимо создать новую настройку доставки оповещений в справочнике «Настройки доставки оповещений», где в качестве способа транспорта указать «Доставка оповещений Telegram», а в качестве бота ранее созданный элемент справочника «Боты Telegram».

Данная настройка доставки указывается в настройках оповещений аналогично другим настройкам доставки.

Далее всем пользователям, которым необходимо получать уведомления в Telegram, необходимо пригласить в свой список контактов ранее созданного бота и написать ему какой-нибудь набор символов. После этого в элементе справочника Бот Telegram необходимо нажать кнопку «Найти чаты».

В открывшемся окне будут показаны чаты, которые были начаты с ботом. После этого необходимо нажать кнопку «Записать и закрыть». При этом создаются новые записи в регистре «Чаты Telegram».

Далее необходимо открыть регистр «Назначение точек доставки» и связать пользователя базы с ботом.

Далее весь механизм оповещений настраивается и работает так же, как и для других способов доставки.
Получение данных из системы в боте Telegram

Помимо отправки простых оповещений в Telegram в системе также есть возможность настроить получение данных по запросу из бота Telegram. Для работы данного механизма и отображения раздела в интерфейсе необходимо включить константу «Использовать Telegram» в Константах (БИТ) на закладке «Интеграция» (ранее константа «Получать информацию от бота Telegram» на закладке «Прочее»).

После включения константы появится новый раздел «Telegram», в котором расположены использующиеся объекты. Для настройки данного механизма пользователю необходимо иметь роль — Администратор оповещений Telegram (кроме пользователей, имеющих полные права).

После установки константы в первую очередь необходимо настроить бот Telegram в справочнике «Боты Telegram». Настройка производится аналогично настройке бота для получения оповещений, за одним исключением: необходимо, чтобы в боте был установлен флаг «Обслуживать чаты». В ином случае команды от пользователя обрабатываться не будут.

После настройки бота и получения чатов необходимо их дополнительно настроить. Для того чтобы пользователь смог выбирать команды и получать информацию из системы необходимо, чтобы администратор заполнил список доступных команд и статус регистрации.

  • «Статус регистрации» — отображает статус регистрации данного чата для получения информации от основного бота, возможные значения – Ожидает регистрации, Запрещено взаимодействие, Разрешено взаимодействие. Все новые чаты появляются со значением «Ожидает регистрации», далее администратору необходимо либо разрешить, либо запретить взаимодействие данного чата. Про оповещения администратора о новых регистрациях подробнее ниже в разделе «Чаты для оповещений».
  • «Доступные команды» — табличная часть с командами основному боту Telegram, которые доступны данному чату.

Чаты для оповещений

Отправка сообщений через Telegram-бота из скрипта загрузки

В настоящий момент базовая версия Qlik Sense Enterprise имеет крайне небогатый функционал рассылки оповещений. А точнее, он вообще отсутствует.

В линейке продуктов присутствует такая вещь как Qlik Alerting, но он не везде подходит в виду своей стоимости и области применения (оповещения на основе данных из приложений). Поэтому для налаживания оперативных оповещений, нам придется использовать сторонние решения. Одно из них — боты Telegram.

Использование Telegram-ботов хорошо тем, что его можно начать без осваивания кликовского API, а также без установки дополнительных коннекторов. Поэтому, давайте начинать.

Создание Telegram-бота

Прежде всего, вам нужно добавить в Telegram в список контактов бота BotFather. Это служба, которая отвечает за создание новых ботов.

Пишем в чат с BotFather команду /newbot. После этого нас попросят указать имя нового бота. Оно должно заканчиваться на _bot (строчными буквами).

В случае успеха, вы увидите сообщение с токеном вашего бота (комбинацию цифр и букв). Она будет нужна для отправки сообщений через вашего бота.

Собственно, на этом все.

Отправка сообщений из скрипта

Для отправки сообщения из скрипта нужно использовать нижеприведенный код, и запустить загрузку данных.

set vTBot_Token=; //Токен бота set vTBot_ChatID=; //ИД чата или получателя set vWebConnection=; //Название любого подключения с типом Web-файл на сервере Qlik set vTBot_Message=; //Текст сообщения, %0A — перенос строки TG_Message: LOAD 1 FROM [lib://$(vWebConnection)] (url is [https://api.telegram.org/bot$(vTBot_Token)/sendMessage?chat_id=$(vTBot_ChatID)parse_mode=HTML]); drop table TG_Message; //Очистка переменных, чтобы не отображать их в визуальном слое set vTBot_Token=; set vTBot_ChatID=; set vTBot_Message=; set vTBot_Message=;

Чтобы обращаться к Telegram, вам потребуется создать подключение к данным с типом web-файл к любому адресу, хоть к https://yandex.ru. Т.к. URL для обращения мы будем передавать через параметр URL IS, в котором для коннекта к web-файлу можно указать совершенно любой адрес.

Забавный факт — обращение к URL не только приводит к загрузке данных из него, но и позволяет инициировать действия во внешней системе. Мы специально указываем цифру 1 как поле в загрузке таблицы TG_Message, чтобы Qlik мог выполнить обращение к адресу, ничего при этом из него не загружая.

Если вам интересно, то в ответ отдается Json-строка с информацией об отправленном сообщении. Но мы не будет тратить время на ее разбор.

Откуда взять ID чата или пользователя? Рекомендую использовать этого бота:

У него можно узнать собственный ИД. Чтобы узнать ИД чата, нужно добавить в него бота и обратиться с командой /getgroupid.

Добавьте вашего бота себе в контакты, пропишите все необходимые параметры и запустите скрипт. Вы должны получить сообщение от бота.

Примеры использования

Мониторинг сбоев в заданиях обновления данных.

Создайте приложение с названием типа Task Control. В него разместите скрипт отправки сообщения с текстом типа «Сбой обновления данных, проверьте ».

Создайте для приложения Task Control задачу на обновление данных.

В качестве триггеров укажите неуспешные выполнения тасков, которые вы хотите мониторить. На каждый таск нужно создавать отдельный триггер, иначе клик будет проверять одновременный провал всех тасков в триггере. а этого не случатся, т.к. цепочка остановится после первого провала.

Теперь в случае завершения таска с ошибкой вы получите сообщение такого вида:

Это самый оперативный способ получения информации о сбое ровно в тот момент, когда он случится.

Мониторинг полноты данных в источнике

При работе с облачными сервисами распространена практика выгрузки данных через API в промежуточную базу, откуда они потом сохраняются в QVD-файл. Иногда API-механизмы сбоят, что может привести к наличию в промежуточной базе только части данных.

Дальнейшая загрузка этих данных приведет к недостоверной картине в аналитике, и бизнес пользователя начнут вам писать что-то вроде «ВАШ Qlik опять сломался».

Чтобы этого не происходило, можно перед перезаписью QVD-файла сравнивать кол-во записей в нем на данный момент, и кол-во данных в источнике. Если данных в источнике меньше чем X% от того что есть в QVD, то загрузка данных из источника пропускается. При этом, вы можете отправлять себе сигнальные сообщения об этих инцидентах.

Вот например как выглядела перезапись из медленного API данных с нуля. Первое число — сколько записей в QVD, второе — сколько записей в БД.

При этом пользователи продолжают работать с самой полной версией данных, хоть и слегка неактуальной.

Рассылка информации по списку пользователей

Несомненно, вы уже подумали об организации рассылок оповещений через Telegram. Это можно реализовать через скрипт, хотя и не очень удобно — ведь вам придется средствами скрипта сгенерировать полный текст сообщения для каждого получателя. А значит, придется делать кучу джойнов и агрегирований.

Однако для MVP оповещений это весьма удобной вариант, т.к. позволяет гарантированно получить результат в предсказуемые сроки (в отличие от поднятия доп. сервисов, API-интеграций и прочего шаманства).

В общем механика такая: вам сначала нужно будет собрать таблицу, в которой каждая строка — это текст сообщения и ИД получателя, а после пройтись по этой таблице скриптом отправки сообщения через цикл. Структура скрипта может быть примерно такой:

Т.е. у нас есть таблица Messages с сообщениями, где каждое сообщение пронумеровано по номеру строки, в поле M_ID.

Дальше идем в цикле по значениям этого поля, при этом в качестве переменных получателя и сообщения через функцию peek забираем значения этих полей в соответствующей M_ID строке. Внутри Peek() вычитаем единицу от M_ID, т.к. нумерация строк в этой функции начинается с 0.

Заключение

Как видите, с помощью оповещений через Telegram очень легко повысить свою осведомленность о состоянии дел на сервере Qlik. Обязательно используйте эту механику, чтобы узнавать о нужных событиях до того, как вам начнут жаловаться пользователи.

А также, предусматривайте в своих скриптах сценарии реакции на нештатные ситуации.

Источник: bi2business.ru

Оцените статью
Добавить комментарий