[Модуль] Telegram (telegram)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение sergejey » Вт июн 21, 2016 2:12 pm

Eraser писал(а):
sergejey писал(а):Возвращаясь к "хотелкам" -- может быть в пользователях сделать возможность показывать группы обсуждений? Т.е. что б можно было бы так же легко указать, что какая-то группа так же получает системную историю.
в новой версии добавил возможность добавить пользователя вручную.
идентификатор пользователя можно узнать в "Истории событий" отправив сообщение боту
Но с группами такое не работает, правильно? Попробовал добавить указав ID группового чата -- не помогло :)

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 873 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Вт июн 21, 2016 2:22 pm

sergejey писал(а): Но с группами такое не работает, правильно? Попробовал добавить указав ID группового чата -- не помогло :)
у меня работает, может ID не правильно указал

у групп ID отрицательное число
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение sergejey » Вт июн 21, 2016 2:28 pm

Eraser писал(а):
sergejey писал(а): Но с группами такое не работает, правильно? Попробовал добавить указав ID группового чата -- не помогло :)
у меня работает, может ID не правильно указал

у групп ID отрицательное число
Так-с... чего-то заработало, но не до конца :)
Пишу через обычную консоль "тест", в ответ "Неизвестная команда". Смотрю в Телеграм, вижу только "тест", хотя логично было бы наоборот, видеть ответ бота.
Чат:
Изображение
лог:
Изображение
телеграм
Изображение

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение sergejey » Вт июн 21, 2016 2:31 pm

В догонку: пишу в приватном чате боту "скажи привет", в консоли вижу ответ "привет", а в общем чате вижу "скажи привет". Т.е. бот в общий чат написал не своё сообщение, а продублировал мой запрос.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 873 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Вт июн 21, 2016 2:33 pm

sergejey писал(а): Так-с... чего-то заработало, но не до конца :)
Пишу через обычную консоль "тест", в ответ "Неизвестная команда". Смотрю в Телеграм, вижу только "тест", хотя логично было бы наоборот, видеть ответ бота.
ну тут все проще, вероятнее всего для группы указан в настройках пользователь Admin, и бот не отсылает его историю
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение sergejey » Вт июн 21, 2016 2:38 pm

Eraser писал(а):
sergejey писал(а): Так-с... чего-то заработало, но не до конца :)
Пишу через обычную консоль "тест", в ответ "Неизвестная команда". Смотрю в Телеграм, вижу только "тест", хотя логично было бы наоборот, видеть ответ бота.
ну тут все проще, вероятнее всего для группы указан в настройках пользователь Admin, и бот не отсылает его историю
В настройках группы не выбран пользователь. Как раз наоборот -- бот отсылает в общий чат то, что говорит Admin, но не ответы системы. Я пишу команды от имени пользователя, который привязан к Admin.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 873 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Вт июн 21, 2016 2:42 pm

sergejey писал(а): В настройках группы не выбран пользователь. Как раз наоборот -- бот отсылает в общий чат то, что говорит Admin, но не ответы системы.
Надо привязать пользователя, чтобы в общем чате определять от кого сообщения, и не отправлять сообщения от того кто привязан, те не отправлять обратно свой же запрос
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение sergejey » Вт июн 21, 2016 2:53 pm

Есть предложение для замены:

Код: Выделить всё

if (($rec[$i]['MEMBER_ID'] != $users[$j]['MEMBER_ID']) &&
                        ($rec[$i]['IMPORTANCE'] >= $users[$j]['HISTORY_LEVEL']))
на (updated!):

Код: Выделить всё

 if ((
                            (!$rec[$i]['MEMBER_ID'] && !$users[$j]['MEMBER_ID']) // from bot to public group
                            ||
                            ($rec[$i]['MEMBER_ID']>0 && $users[$j]['MEMBER_ID'] && $users[$j]['MEMBER_ID']!=$rec[$i]['MEMBER_ID']) // from one user to another
                            )
                            && $rec[$i]['IMPORTANCE'] >= $users[$j]['HISTORY_LEVEL'] // message level
                           )
тогда чатам (и пользователям), которые не привязаны к пользователям системы, будут приходить только сообщения бота

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
eeak1
Сообщения: 51
Зарегистрирован: Чт май 12, 2016 9:13 am
Благодарил (а): 22 раза
Поблагодарили: 11 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение eeak1 » Ср июн 29, 2016 11:20 am

С самых первых версий у меня модуль зависает. После рестарта cycle.php модуль живет несколько часов, каждый раз разное время. После чего перестает подавать признаки жизни, хотя цикл cycle_telegram.php продолжает крутиться. Делаю рестарт cycle.php и тут-же в чат сыпятся все ответы на те запросы, которые были посланы после зависания модуля. В чате Алисы ответы модуля тоже появляются только после перезапуска cycle.php. Как бы победить эту странность.
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
granted
Сообщения: 2
Зарегистрирован: Чт июн 30, 2016 1:28 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Модуль "Telegram"

Сообщение granted » Чт июн 30, 2016 2:56 pm

А у меня бот в истории событий написал:

13:20:20 running cycle_telegram.php
Error connect, invalid token
Shouts LastID=7
Token bot -

Я установил бота, зарегистрировал его и получил токен. Добавил токен в настройки, но при попытке общения пользователь не появляется в модуле. Что могло пойти не так?
Ответить