Создание бота в телеграмм - SCratORS/SmartIntercom GitHub Wiki

Для управления умным домом и его устройствами через Телеграм, требуется создание своего бота. Вот этим мы и займемся...

В поиске ищем @ВоtFather - это официальный бот Телеграма, созданный специально для управления ботами. Если раньше им не пользовались, то нажимаем кнопку "Запустить" - собственно ничего другого в чате бота и не будет.

Появится меню бота: изображение

В меню очень много возможностей, из которых нас интересует пока только одна - создание бота, это команда /newbot или эта же команда вызванная из "Меню", расположенного внизу слева. Вызываем команду... BotFather попросит указать имя бота - имя можете задать любое например "Бот умного дома". изображение

Следом BotFather попросит ввести имя бота обязательно заканчивающее на "bot". Имя вводится на латинице и должно быть уникальным! Если бот с таким именем уже существует, то появится сообщение с просьбой использовать другое имя: изображение

Для примера я ввел имя - smarthome121_ha_bot Появится сообщение о создании бота, в котором нам понадобится токен, при помощи которого мы и будем с ним работать: (Особо хитрых сразу предупреждаю - бот был создан для примера и сразу же удален! Так что не пытайтесь его взломать по токену с картинки!) изображение

Полученный токен сохраняем в файле secrets.yaml в Home Assistant:

# id:token - smarthome121_ha_bot
telegram_token: 5739678252:AAHq5KAwPaVDBgqLrpbMALOxTwTt8mLWYc4

Далее, для настройки бота в Home Assistant нам понадобится узнать свой "id".

В поиске ищем - @getmyid_bot и запускаем его. Появится сообщение:

Your user ID: 457173212
Current chat ID: 457173212

Это и есть ваш идентификатор в телеграм. Если вам надо узнать "id" собеседника - например жены, то просто перешлите боту @getmyid_bot сообщение полученное от неё. (Не свое ей, не пересланное ей, а именно написанное ей и присланное вам - это важно!) И получите третью строку:

Your user ID: 457173212
Current chat ID: 457173212
Forwarded from: 1311585534

Полученные id так же записываем в файл secrets.yaml:

# telegram chats
telegram_chat_my: 457173212
telegram_chat_wife: 1311585534

Осталось только настроить телеграм бот в Home Assistant. Тут все просто - в файл configuration.yaml пищем вот эти строки

telegram_bot:
  - platform: polling
    api_key: !secret telegram_token
    parse_mode: html
    allowed_chat_ids:
      - !secret telegram_chat_my
      - !secret telegram_chat_wife

Теперь вы можете отправлять в ваш бот сообщения - например так:

- service: telegram_bot.send_message
  data:
    title: "Умный дом сообщает"
    message: "У меня все хорошо работает!"
    target:
      - !secret telegram_chat_my
      - !secret telegram_chat_wife

Используя встроенные в Home Assistant команды, можно отправлять, файлы, картинки, видео. Но это уже тема отдельного разговора...