github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/doc/content/ru/docs/plugins/notify/telegram.md (about) 1 2 --- 3 title: "Telegram" 4 linkTitle: "telegram" 5 date: 2021-10-20 6 description: > 7 8 --- 9 10 Позволяет работать с telegram api, обеспечивая интерактивную обработку комманд от клиентов либо использовать 11 событийное оповещение. Система не имеет ограничение на количество ботов, один entity - один бот. 12 13 ### Настройка 14 * Token 15 16 ### Команды: 17 * произвольный набор 18 19 ### Атрибуты 20 * произвольный набор 21 22 ### Действия 23 24 В системе зарезервированно две команды: 25 26 * **/start** - подписаться на уведомления 27 * **/quit** - отписаться от уведомлений 28 29 **Action** (действие) - должно наименоваться в нижнем регистре, без знаков "/". 30 Кастомная команда в системе автоматически добавится в список доступных команд раздела **/help**. 31 Вызов кастомной команды с клиента следует производить в верхнем регистре **/ACTION** -> **/action** 32 33 34 ### javascript свойства 35 36 37 ---------------- 38 39 ### Новое сообщение 40 41 создает объект сообщения 42 43 ```coffeescript 44 msg = notifr.newMessage(); 45 msg.entity_id = 'telegram.name'; 46 msg.attributes = { 47 'body': 'some text msg', 48 'chat_id': 123456, 49 'keys': ['foo', 'bar'], 50 'photo_uri': ['foo', 'bar'], 51 'photo_path': ['foo', 'bar'], 52 'file_path': ['foo', 'bar'], 53 'file_uri': ['foo', 'bar'] 54 }; 55 56 ``` 57 | значение | описание | 58 |-------------|---------| 59 | newMessage() | метод | 60 | msg | type: Object (Message) | 61 62 attributes: 63 64 | значение | описание | 65 |-------------|---------| 66 | body | Type: string, тело сообщения | 67 | chat_id | Type: int64, id пользователя | 68 | keys | Type: []string, клавиатура | 69 | photo_uri | Type: []string, изображение | 70 | photo_path | Type: []string, изображение | 71 | file_path | Type: []string, файл | 72 | file_uri | Type: []string, файл | 73 74 ---------------- 75 76 ### функция telegramAction 77 78 ```coffeescript 79 telegramAction = (entityId, actionName, args)-> 80 ``` 81 | значение | описание | 82 |-------------|-------------------| 83 | entityId | type: string, id сущности отправляющего сообщение | 84 | actionName | type: string, название действия, без символа '/' в верхнем регистре | 85 | args | attributes | 86 87 ---------------- 88 89 ### пример кода 90 91 ```coffeescript 92 # telegram 93 # ################################## 94 telegramSendReport =-> 95 entities = ['device.l3n1','device.l3n2','device.l3n3','device.l3n4'] 96 for entityId, i in entities 97 entity = GetEntity(entityId) 98 attr = EntityGetAttributes(entityId) 99 sendMsg(format(entityId, entity.state.name, attr)) 100 101 telegramAction = (entityId, actionName)-> 102 switch actionName 103 when 'CHECK' then telegramSendReport() 104 105 sendMsg =(body)-> 106 msg = notifr.newMessage(); 107 msg.entity_id = 'telegram.testbot'; 108 msg.attributes = { 109 'body': body 110 }; 111 notifr.send(msg); 112 ```