Telegram
Telegram - модуль для отправки сообщений из i3 Pro в Telegram. Telegram бот будет отправлять вам сообщения, настроенные в iRidium Studio, по активации события (например, можно получать уведомления от датчиков протечки, задымления и другого оборудования).
документация обновлена 01.01.2024
Создание Telegram бота
-
Откройте Telegram , в строке поиска введите BotFather ;
-
Выберите найденного бота, активируйте диалог с ним и нажмите на кнопку Start ;
-
Отправьте команду /newbot , чтобы создать своего бота;
-
BotFather предложит вам выбрать имя для своего будущего бота, введите имя;
-
Боту необходимо придумать уникальный username , в конце названия обязательно указывается приставка _bot ;
-
После успешной регистрации BotFather пришлет вам сообщение с токеном, который необходимо сохранить для дальнейшей работы.
Интеграция модуля в проект
Мы подготовили проект, который демонстрирует работу модуля Telegram. Для интеграции модуля в проект необходимо:
-
Скачать шаблон проекта с модулем Telegram;
-
Открыть модуль в Iridium Studio;
-
Объединить ваш проект с модулем Telegram:

-
В разделе SCRIPT открыть файл Main, содержащий пример;
-
Изменить параметры в примере:
- device Name - имя драйвера Telegram;
- chat ID - ID пользователя или группы;
- token of the bot - i ;
- timeout between messages - задержка на отправку сообщений, в миллисекундах;
- print Log - переменная, определяющая нужен вывод логов или нет (true, false).
Получение chat ID:
- Откройте Telegram , и в строке поиска введите userinfobot ;
- Выберите найденного бота, активируйте диалог с ним, и нажмите на кнопку Start ;
- В сообщении вы получите информацию о вашем Telegram аккаунте: login, id, имя, фамилию .
Получение chat ID группы:
- Добавьте бота в группу (добавляется через обычное добавление участников и поиск бота по имени);
- Запустите бота командой /start ;
- Получить список обновлений для вашего бота можно по следующей ссылке, где **** заменяется на токен вашего бота: https://api.telegram.org/bot/getUpdates ;
- Вы получите подобный ответ:
В объекте chat поле id - идентификатор вашей группы.
- В скрипте Main по примеру написать обработчик данных. В нём необходимо задать событие по которому будет отправляться сообщение и текст сообщения.
6.1. Пример отправки сообщения по нажатию на кнопку"
-
Заменяем значения chat ID и token of the bot на те, которые использует Telegram бот;
-
Создаём функцию send_mail() и заполняем текст сообщения, которое будет отправлено Telegram ботом;
-
Привязываем функцию send_mail() к графическому элементу (кнопке) с помощью макроса Script call .
var l_pTelegram;
IR.AddListener(IR.EVENT_START, 0, function(){
l_pTelegram = new Telegram(
/* device Name */ "Telegram",
/* chat ID */ "0000",
/* token of the bot */ "botToken",
/* timeout between messages */ 200,
/* print Log */ true);
});
function send_mail()
{
l_pTelegram.SendMessage("text message");
}
6.2. Пример отправки сообщения по изменению значений в тегах драйвера"
-
Заменяем значения chat ID и token of the bot на те, которые использует Telegram бот;
-
Заменяем значение ** "Name Device" ** на имя драйвера, значения которого будем отслеживать и отправлять в Telegram.
-
В слушателе IR.EVENT_TAG_CHANGE добавляем необходимые каналы, значения которых будем отслеживать, и текст сообщения, которое будет отправлено в Telegram.
var l_pTelegram;
IR.AddListener(IR.EVENT_START, 0, function(){
l_pTelegram = new Telegram(
/* device Name */ "Telegram",
/* chat ID */ "0000",
/* token of the bot */ "botToken",
/* timeout between messages */ 200,
/* print Log */ true);
var driver = IR.GetDevice("Name Device"); // driver name
});
IR.AddListener(IR.EVENT_TAG_CHANGE, driver, function(name,value)
{
if (name == "Address 1" && value == 1) // if the driver feedback "Address 1" changed to 1
{
l_pTelegram.SendMessage("Back door opened!"); // text of notification
}
});
6.3. Пример отправки сообщения по наступлению заданной даты"
-
Заменяем значения chat ID и token of the bot на те, которые использует Telegram бот;
-
В слушателе IR.EVENT_GLOBAL_TAG_CHANGE указываем дату и время отправки сообщения, а так же текст сообщения.
var l_pTelegram;
IR.AddListener(IR.EVENT_START, 0, function(){
l_pTelegram = new Telegram(
/* device Name */ "Telegram",
/* chat ID */ "0000",
/* token of the bot */ "botToken",
/* timeout between messages */ 200,
/* print Log */ true);
});
IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function (name, value)
{
// conditions:
if (IR.GetVariable("System.Date.MM_DD") == "03/14" && IR.GetVariable("System.Time.Hour") == 10 && IR.GetVariable("System.Time.Minutes") == 0)
{
l_pTelegram.SendMessage("Happy Birthday Mike!"); // text of notification
}
});
IR.SubscribeTagChange("System.Time.Minutes"); // subscribe on minutes to check condition each minute
Запуск бота конечным пользователем
Для начала работы с Telegram ботом, конечному пользователю необходимо:
-
Предоставить chat ID своего аккаунта или чата группы интегратору;
-
Найти в поиске бота по его username ;
-
Активировать диалог и запустить бота, отправить команду /start .