NEWS
IOBroker c Telegram и WhatsApp
-
Из статьи: Теперь можно создать бота (написать программу), который будет отвечать на Ваши вопросы, выполнять определнные команды и все это в окне переписки мессенджера Telegram.
Мне кажется то что нам нужно. Можно управлять умным домом при помощи команд. `
Вещь интересная, вот только у кого на это хватил сил и времени..) -
У телеграма есть https://core.telegram.org/api#getting-started, следовательно вероятность написания драйвера выше
Вот только не понимаю почему нет русского языка
-
Я наконец победил Telegram:
-
<size size="85">ААА, опередил ))) Я в пятницу начал курить драйвер Telegram для брокера.</size>
-
При попытке оправить сообщение:
sendTo('telegram', '@SpectreKr ' + 'PhoneNumber: ' + phoneNumber);
Получил ошибку:
! TypeError: 2016-02-15 10:28:35 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
! TypeError: 2016-02-15 10:28:35 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
! TypeError: 2016-02-15 10:28:35 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
! TypeError: 2016-02-15 10:28:35 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:28:35 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
! TypeError: 2016-02-15 10:28:35 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:28:35 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:28:35 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
! TypeError: 2016-02-15 10:28:35 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
! TypeError: 2016-02-15 10:28:35 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:28:35 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
! TypeError: 2016-02-15 10:28:35 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1951:34)
! TypeError: 2016-02-15 10:28:35 error at Adapter.emit (events.js:95:17)
! TypeError: 2016-02-15 10:28:35 error at Adapter.count (/opt/iobroker/node_modules/iobroker.telegram/main.js:24:14)
! TypeError: 2016-02-15 10:28:35 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:92:29)
! TypeError: 2016-02-15 10:28:35 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:60:18)
! TypeError: 2016-02-15 10:28:35 error Cannot call method 'match' of undefined
! message 2016-02-15 10:28:35 error messagebox.system.adapter.telegram.0 [object Object] Cannot call method 'match' of undefined
! TypeError: 2016-02-15 10:28:35 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
! TypeError: 2016-02-15 10:28:35 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
! TypeError: 2016-02-15 10:28:35 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
! TypeError: 2016-02-15 10:28:35 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:28:35 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
! TypeError: 2016-02-15 10:28:35 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:28:35 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:28:35 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
! TypeError: 2016-02-15 10:28:35 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
! TypeError: 2016-02-15 10:28:35 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:28:35 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
! TypeError: 2016-02-15 10:28:35 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1951:34)
! TypeError: 2016-02-15 10:28:35 error at Adapter.emit (events.js:95:17)
! TypeError: 2016-02-15 10:28:35 error at Adapter.count (/opt/iobroker/node_modules/iobroker.telegram/main.js:24:14)
! TypeError: 2016-02-15 10:28:35 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:92:29)
! TypeError: 2016-02-15 10:28:35 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:60:18)
! TypeError: 2016-02-15 10:28:35 error Cannot call method 'match' of undefined
! message 2016-02-15 10:28:35 error messagebox.system.adapter.telegram.0 [object Object] Cannot call method 'match' of undefined
Или UserName надо указывать не регистрационый логин, а имя которое записанно в переменной telegram.INSTANCE.communicate.request?При отправке сообщения без указывания имени пользователя:
! TypeError: 2016-02-15 10:40:29 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
! TypeError: 2016-02-15 10:40:29 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
! TypeError: 2016-02-15 10:40:29 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
! TypeError: 2016-02-15 10:40:29 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:40:29 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
! TypeError: 2016-02-15 10:40:29 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:40:29 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:40:29 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
! TypeError: 2016-02-15 10:40:29 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
! TypeError: 2016-02-15 10:40:29 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:40:29 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
! TypeError: 2016-02-15 10:40:29 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1951:34)
! TypeError: 2016-02-15 10:40:29 error at Adapter.emit (events.js:95:17)
! TypeError: 2016-02-15 10:40:29 error at Adapter.count (/opt/iobroker/node_modules/iobroker.telegram/main.js:24:14)
! TypeError: 2016-02-15 10:40:29 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:92:29)
! TypeError: 2016-02-15 10:40:29 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:60:18)
! TypeError: 2016-02-15 10:40:29 error Cannot call method 'match' of undefined
! message 2016-02-15 10:40:29 error messagebox.system.adapter.telegram.0 [object Object] Cannot call method 'match' of undefined:oops: <size size="85">небольшой баг репорт</size>
-
При попытке оправить сообщение:
sendTo('telegram', '@SpectreKr ' + 'PhoneNumber: ' + phoneNumber);
:oops: <size size="85">небольшой баг репорт</size> `
Ну так можешь перенять разработкуПоменяй строчку:
https://github.com/ioBroker/ioBroker.te … ain.js#L92
на````
count = sendMessage(obj.message);Нужно ещё реализовать поддержку WebHooks и специальных команд: /restart, /list instances, /restart instance … P.S. Что бы получать сообщения нужно один раз ввести пароль или один раз прислать сообщение из клиента, что бы можно было узнать ID пользователя.
-
Перенять к сожалению не смогу, не так силен в javascript, мне понадобилось полтора дня чтоб запустить драйвер пустой, и создать первую переменную, а данные занести не смог.
И я смотрю вы сами пишете полностью API, а я взял готовое API и из него думал прикручивать нужные функции.
Сообщение я отписал ему, он в получил имя клиента. Это я сразу сделал, так как у Telegram такие правила.
После исправления заработало и с именем и просто текст.
-
Кстати, а может WebHooks отложить до момента когда времени свободного побольше будет, там нюанс что надо легитимный не само подписанный сертификат, я не думаю что здесь много пользователей которые смогут получить такой сертификат? А в первую очередь заняться специальными командами.
-
Кстати, а может WebHooks отложить до момента когда времени свободного побольше будет, там нюанс что надо легитимный не само подписанный сертификат, я не думаю что здесь много пользователей которые смогут получить такой сертификат? А в первую очередь заняться специальными командами. `
Телеграмм с осени разрешает самоподписанные сертификаты.Я api не сам пишу, а использую готовый модуль. Который тоже не без изъяна
-
После обновления потерял существующий чат, пришлось опять написать боту чтоб он начал слать сообщения. И появились варнинги
! WARNING: 2016-02-16 14:06:23 error cannot find message with id = 5677
! WARNING: 2016-02-16 14:06:23 error cannot find message with id = 5676
! WARNING: 2016-02-16 14:06:23 error cannot find message with id = 5675
! javascript-0 2016-02-16 14:06:22 info sendTo "send"…. -
А если взять api https://github.com/yagop/node-telegram-bot-api? Там webhook реализован, да и много чего другого. Лицензия тоже MIT.
-
А если взять api https://github.com/yagop/node-telegram-bot-api? Там webhook реализован, да и много чего другого. Лицензия тоже MIT. `
Я его и взял.