Уведомления в Telegram (Телеграм)

Материал из Sprut.hub Wiki

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

Если у вас нет своего бота, вам необходимо его создать.

Для этого необходимо в Telegram в поиске вбить @BotFather (это официальный бот для создания ботов)


После этого, необходимо:

Шаг1. Нажмите «Запустить» для активации бота BotFather. В ответ вы получите список команд по управлению ботов.

Шаг 2. Выполнить команду /newbot

Шаг 3. Дать имя своему боту — например "Мой дом" и присвоить никнейм бота, по которому вы сможете его найти. Он должен быть уникальным и заканчиваться на слово «bot».

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

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

Ваш бот готов к использованию.

Теперь вам необходимо настроить его работу в Sprut.hub. Для этого необходимо создать глобальный сценарий в виде кода. Идем в "Настройки" - "Сценарии" - "Глобальные" и создаем там новый сценарий

let chatIDs = ["666666666"];
let token = "666666666:AABBCCddEeffggeeHH-IIJJkKLlMmnno_oP"

function sendToTelegram(text, notify) {
    try {
        if (!Array.isArray(text))
            text = [text];

        chatIDs.forEach(function (chatID) {
            HttpClient.POST("https://api.telegram.org")
                .path("bot" + token)
                .path("sendMessage")
                .queryString("chat_id", chatID)
                .queryString("text", text.join("\n"))
                .queryString("parse_mode", "Markdown")
                .queryString("disable_notification", notify == null ? false : !notify)
                .send()
        })
    } catch (e) {
        log.error(e.message);
    }
}
sendToTelegram(["*Первая строка", "вторая строка"])