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

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

Модератор: immortal

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

Re: Модуль "Telegram"

Сообщение Eraser » Пт ноя 11, 2016 12:58 pm

Amarok писал(а):И так не робит:

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

include('modules/telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->execCommand(106610876, "weather"); 
в логе пишет, что нашел команду?

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

 execCommand => Execute user`s code command
 execCommand => Find command
если нет, то надо проверять разрешения для пользователя 106610876
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Пт ноя 11, 2016 1:01 pm

Fantom писал(а):можно как то получить не полный путь загруженного файла а только имя? хочу сделать что то типо такого

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

say($user[NAME]." загрузил новый файл");
say("Скачать его можно по ссылке https://server/downloads/telegram/".$chat_id."/".$file_name);
return "";
и еще по поводу webhook, сервер доступен из вне по https, сертификат от StartSSl но webhook включить не могу, пишет Bad Request: can't parse URL. Че ему надо? Пробовал урл по разному писать и все равно ошибка :cry:
надо включить webhook, указать ваш адрес https://адрес, нажать "Обновить", и после этого "Set Webhook"
для работы через webhook необходимо чтобы страница https://адрес/webhook_telegram.php была доступна извне без пароля
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver » Пт ноя 11, 2016 1:07 pm

Webhook классная тема, но выставлять сервер наружу только ради этого идея, так скажем, не очень.
Есть ли какой-то вариант, например, перенести https://ваш_сервер/webhook_telegram.php на другой порт, чтобы на роутере разрешить проброс порта исключительно для бота?!
Основная веб-морда MjD при этом останется доступной только в локальной сети. Такой принцип реализован в IOBroker.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Fantom
Сообщения: 31
Зарегистрирован: Чт фев 06, 2014 9:56 pm
Благодарил (а): 9 раз
Поблагодарили: 2 раза

Re: Модуль "Telegram"

Сообщение Fantom » Пт ноя 11, 2016 1:12 pm

Eraser писал(а): надо включить webhook, указать ваш адрес https://адрес, нажать "Обновить", и после этого "Set Webhook"
для работы через webhook необходимо чтобы страница https://адрес/webhook_telegram.php была доступна извне без пароля
Вроде включил но теперь пишет:
Last error: SSL error {336134278, error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed}
Может путь к сертификату не правильно написал, какого формата путь должен быть? у меня щас так /etc/ssl
и что по поводу имени загруженного файла? есть оно где то в переменных?
Banana PI (Armbian 21.02.1 Buster) + Arduino + esp8266
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Пт ноя 11, 2016 1:26 pm

Fantom писал(а): Вроде включил но теперь пишет:
Last error: SSL error {336134278, error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed}
Может путь к сертификату не правильно написал, какого формата путь должен быть? у меня щас так /etc/ssl
и что по поводу имени загруженного файла? есть оно где то в переменных?
нужно в "Path to certificate" указать полный путь на диске до файла сертификата, нажать "Обновить", и после этого снова "Set webhook"

у себя я не проверял работу с самоподписанными сертификатами, поэтому за работоспособность не ручаюсь
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Fantom
Сообщения: 31
Зарегистрирован: Чт фев 06, 2014 9:56 pm
Благодарил (а): 9 раз
Поблагодарили: 2 раза

Re: Модуль "Telegram"

Сообщение Fantom » Пт ноя 11, 2016 1:33 pm

у меня от startssl сертификат. прописал полный путь до него /etc/ssl/cert.crt и все равно пишет
Last error date: 11 Nov 2016 13:30:34
Last error: SSL error {336134278, error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed}
Banana PI (Armbian 21.02.1 Buster) + Arduino + esp8266
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Пт ноя 11, 2016 1:39 pm

skysilver писал(а):Webhook классная тема, но выставлять сервер наружу только ради этого идея, так скажем, не очень.
Есть ли какой-то вариант, например, перенести https://ваш_сервер/webhook_telegram.php на другой порт, чтобы на роутере разрешить проброс порта исключительно для бота?!
Основная веб-морда MjD при этом останется доступной только в локальной сети. Такой принцип реализован в IOBroker.
Вот здесь https://core.telegram.org/bots/api/#setwebhook написано, что порты могут быть только 443, 80, 88, 8443.
Незнаю, получится ли так настроить, чтобы к MJD не было доступа совсем, не силен в данном вопросе.
За это сообщение автора Eraser поблагодарил:
karo (Пн ноя 27, 2017 7:38 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver » Пт ноя 11, 2016 1:46 pm

Eraser писал(а):Вот здесь https://core.telegram.org/bots/api/#setwebhook написано, что порты могут быть только 443, 80, 88, 8443.
Незнаю, получится ли так настроить, чтобы к MJD не было доступа совсем, не силен в данном вопросе.
Тут скорее не MJD надо настраивать, а Апач. Допустим поднять еще один виртуальный хост, который будет слушать на порту 88. Соответственно только этот порт наружу и вытащить.
Вопрос в том, сможет ли приложение телеграмма в MJD работать, когда файл webhook_telegram.php лежит в директории другого виртуального сервера Апач?
Понимаю, что в текущем виде, скорее всего, нет. Но думаю, есть способы этого добиться.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Пт ноя 11, 2016 1:56 pm

Fantom писал(а):у меня от startssl сертификат. прописал полный путь до него /etc/ssl/cert.crt и все равно пишет
Last error date: 11 Nov 2016 13:30:34
Last error: SSL error {336134278, error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed}
Mожет сертификат не нравится
Вот здесь https://core.telegram.org/bots/self-signed описывается как создавать сертификат, и еще там указано требование к сертификату PEM encoded (ASCII BASE64)
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Dark_Veter
Сообщения: 295
Зарегистрирован: Вт апр 23, 2013 5:16 pm
Откуда: Брянск
Благодарил (а): 18 раз
Поблагодарили: 94 раза

Re: Модуль "Telegram"

Сообщение Dark_Veter » Пт ноя 11, 2016 1:58 pm

skysilver писал(а): Тут скорее не MJD надо настраивать, а Апач. Допустим поднять еще один виртуальный хост, который будет слушать на порту 88. Соответственно только этот порт наружу и вытащить.
Вопрос в том, сможет ли приложение телеграмма в MJD работать, когда файл webhook_telegram.php лежит в директории другого виртуального сервера Апач?
Понимаю, что в текущем виде, скорее всего, нет. Но думаю, есть способы этого добиться.
Можно наверное через nginx попробовать, повесить на отдельном порту и proxy_pass сделать.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
Ответить