Совсем недавно я озадачился, как можно управлять MyBot на расстоянии, буквально с универсального пульта. Удаленный рабочий стол мне не подошел, так как для него нужно хорошее подключение к интернету, а вот управление через месседжер, самое то.
Помимо управления, конечно же основной функцией является отслеживание работоспособности бота. На данный момент MyBot, получил масштабное улучшение, переписав код программы и следить за ним теперь нужно на много больше. Так как большинство ботоводов используют выделенные сервера, например VPS, я даже инструкцию писал и заснял. Так вот, на этих серверах боты не так идеально работают, это ведь не полноценна машина и практически на это не рассчитана. Естественно за сервера нужно платить и не очень хотелось бы, чтобы бот простаивал и не использовал то время, за которое заплатил.
Бот обратной связи Телеграм | Как сделать бота обратной связи в Телеграм
На данный момент я активно использую мессдежер, под названием Телеграм или Telegram, отличный или даже лучший способ обменом сообщений и не только. Что в нем такого интересного, вы скажете, да много все и именно его функционал. Телеграм поддерживает так называемых ботов, которые позволяют делать различные задачи, если вам интересно, то лучше поискать в гугле.
Так вот, при помощи бота мы и будет создавать уведомления, нам нужно будет придумать имя на которе будет приходить информация и от куда будет отдавать свои команда. Это достаточно все просто, по этому не думайте, что сделать это нереально. А если вы уже пользовались или пользуетесь Телеграмом, то вам еще проще будет.
- Все что нужно знать о ботах для Clash of Clans
- Все необходимое для бота MyBot
- Как использовать бота без компьютера
- Регистрируемся в Телеграме, для этого достаточно перейти по данной ссылке. Заметьте, если вы зарегистрированы, то просто введите свой телефон или проделайте всю манипуляцию ниже на своем устройстве.
- После ввода телефона, нам нужно активировать при помощи кода с смс (код также может прийти на ваше мобильное устройство в Телеграме)
- После чего вводим login, который будет отображаться в месседжере, либо вы сразу попадете на главное окно.
Как создать умный чат-бот в 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