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

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

Модератор: immortal

Doozer
Сообщения: 15
Зарегистрирован: Ср окт 30, 2019 9:47 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Doozer » Ср окт 30, 2019 9:08 pm

Eraser писал(а):
Ср окт 30, 2019 9:59 am
Doozer писал(а):
Ср окт 30, 2019 9:55 am
Добрый день!

Нужна консультация знающих людей.
Вчера создал бота. При настройке в majordomo так и не смог автоматически получить добавления пользователя, хотя в телеге на команду /start ответ о регистрации приходил. В логах модуля MD нашел присылаемые сообщения от незарегистрированного пользователя (от себя), скопировал ID и добавил пользователя вручную, все права пользователю отдал. Установил локальный прокси.
Системные сообщения от MD теперь в чат приходят без проблем. Но при попытке общения с ботом и отправке "ping" в ответ приходит список команд для управления ботом, но не приходит ответ от MD.
В чем может быть проблема?
цикл телеграм работает? что в логе?
Добрался до логов. Каждые 3-4 секунды в дебаге сообщения типа:

(
20:59:02 Array
)
[description] => Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
[error_code] => 409
[ok] =>

Webhook в настройках не включен. При установке флага "Использовать webhook", нажатии кнопки "Удалить webhook" и последующем снятии флага об его использовании MD начал отвечать в чат на команды. Но при перезагрузке Rasberry Pi история повторилась вновь.
Что посоветуете?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Вт ноя 05, 2019 6:46 am

В настройках не включен, а в телеграме включен. Выполните метод отключения вебхука.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Aleksandr_A
Сообщения: 32
Зарегистрирован: Ср окт 09, 2019 9:24 am
Благодарил (а): 4 раза
Поблагодарили: 6 раз

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

Сообщение Aleksandr_A » Пт ноя 08, 2019 2:29 pm

Скажите, а как можно отправить сообщение одновременно с картинкой, inline и обычной клавиатурой?
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

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

Сообщение Eraser » Сб ноя 09, 2019 6:14 pm

Aleksandr_A писал(а):
Пт ноя 08, 2019 2:29 pm
Скажите, а как можно отправить сообщение одновременно с картинкой, inline и обычной клавиатурой?
можно через sendContent
скоро для удобства добавлю эти параметры inline клавиатуры в методы отправки
За это сообщение автора Eraser поблагодарил:
Aleksandr_A (Вт ноя 12, 2019 12:29 pm)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

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

Сообщение Eraser » Ср ноя 13, 2019 3:40 pm

Добавлен параметр inline для упрощенной отправки сообщений и изображений с inline клавиатурой

Пример использования

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

$telegram_module = new telegram();

$option = array( 
                array($telegram_module->buildInlineKeyboardButton("Url", "http://majordomo.smartliving.ru/")),
                array($telegram_module->buildInlineKeyboardButton("Query", '','',"Query select chat")),
                array($telegram_module->buildInlineKeyboardButton("Query current chat", '','',null,'Query current chat'))
);
$keyb = $telegram_module->buildInlineKeyBoard($option);

$telegram_module->sendMessageToUser(139809586 ,"Text",null,$keyb);
$telegram_module->sendImageToUser(139809586 ,'/var/www/files/Camera01.jpg',"Text",null,$keyb);
За это сообщение автора Eraser поблагодарили (всего 4):
xor (Ср ноя 13, 2019 3:58 pm) • Pacific (Ср ноя 13, 2019 9:35 pm) • TurburatoR (Вс ноя 17, 2019 5:15 pm) • Logrus (Чт май 07, 2020 8:36 am)
Рейтинг: 4.65%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Doozer
Сообщения: 15
Зарегистрирован: Ср окт 30, 2019 9:47 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Doozer » Чт ноя 14, 2019 9:38 am

nick7zmail писал(а):
Вт ноя 05, 2019 6:46 am
В настройках не включен, а в телеграме включен. Выполните метод отключения вебхука.
Подскажите плиз как это сделать. Не нашел вкл/откл вебхука еще где-либо кроме настроек модуля Telegram.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт ноя 14, 2019 9:43 am

Если мне память не изменяет - кнопочка была.

ЗЫ: Не изменяет)) viewtopic.php?f=5&t=2768&p=38929#p38929
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Doozer
Сообщения: 15
Зарегистрирован: Ср окт 30, 2019 9:47 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Doozer » Чт ноя 14, 2019 11:44 am

nick7zmail писал(а):
Чт ноя 14, 2019 9:43 am
Если мне память не изменяет - кнопочка была.

ЗЫ: Не изменяет)) viewtopic.php?f=5&t=2768&p=38929#p38929
Я в описании проблемы вроде подробно описал, что кнопочкой этой пользовался. Повторюсь:
1. При появлении проблем с ботом я в логах вижу что он пытается использовать вебхук.
2. Захожу в настройки модуля Telegram в MJ - флаг "использовать вебхук" снят.
3. Ставлю этот флажок. Появляются кнопки "настроить/посмотреть статус/стереть вебхук"
4. При нажатии кнопки "посмотреть статус вебхук" мне показывают ссылку на какой-то внешний сервак. Ссылку смогу процитироваить при повторе проблемы.
5. Нажимаю кнопку "стереть вебхук". Ссылка пропадает. Появляется сообщение что вебхук стерт.
6. Снимаю флажок "использовать вебхук. Пропадают кнопки "настроить/посмотреть статус/стереть". Пропадает проблема, бот начинает со мной общаться.

Через пару дней история повторяется, ссылка на внешний сервер появляется одна и та же. Откуда модуль её берет - не знаю. Почему модуль Telegram начинает пытаться использовать вебхук при явном указании в настройках не пользоваться им и как это исправить - вот главная проблема. Как её решить?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт ноя 14, 2019 11:52 am

Аа...вон оно что...что то я эту часть упустил.
А других проблем с МД нет? История у датчиков не пропадает при перезагрузках? Другие настройки не слетают? Может у вас бэкап базы откуда-нибудь старый восстанавливается?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
TurburatoR
Сообщения: 47
Зарегистрирован: Вс ноя 06, 2016 6:49 pm
Благодарил (а): 59 раз
Поблагодарили: 3 раза

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

Сообщение TurburatoR » Вс ноя 17, 2019 5:16 pm

Eraser писал(а):
Ср ноя 13, 2019 3:40 pm
Добавлен параметр inline для упрощенной отправки сообщений и изображений с inline клавиатурой

Пример использования

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

$telegram_module = new telegram();

$option = array( 
                array($telegram_module->buildInlineKeyboardButton("Url", "http://majordomo.smartliving.ru/")),
                array($telegram_module->buildInlineKeyboardButton("Query", '','',"Query select chat")),
                array($telegram_module->buildInlineKeyboardButton("Query current chat", '','',null,'Query current chat'))
);
$keyb = $telegram_module->buildInlineKeyBoard($option);

$telegram_module->sendMessageToUser(139809586 ,"Text",null,$keyb);
$telegram_module->sendImageToUser(139809586 ,'/var/www/files/Camera01.jpg',"Text",null,$keyb);
А с отправкой видео будет такое?
Ответить