Страница 35 из 193

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 12:58 pm
Eraser
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

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 1:01 pm
Eraser
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 была доступна извне без пароля

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 1:07 pm
skysilver
Webhook классная тема, но выставлять сервер наружу только ради этого идея, так скажем, не очень.
Есть ли какой-то вариант, например, перенести https://ваш_сервер/webhook_telegram.php на другой порт, чтобы на роутере разрешить проброс порта исключительно для бота?!
Основная веб-морда MjD при этом останется доступной только в локальной сети. Такой принцип реализован в IOBroker.

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 1:12 pm
Fantom
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
и что по поводу имени загруженного файла? есть оно где то в переменных?

Re: Модуль "Telegram"

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

у себя я не проверял работу с самоподписанными сертификатами, поэтому за работоспособность не ручаюсь

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 1:33 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}

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 1:39 pm
Eraser
skysilver писал(а):Webhook классная тема, но выставлять сервер наружу только ради этого идея, так скажем, не очень.
Есть ли какой-то вариант, например, перенести https://ваш_сервер/webhook_telegram.php на другой порт, чтобы на роутере разрешить проброс порта исключительно для бота?!
Основная веб-морда MjD при этом останется доступной только в локальной сети. Такой принцип реализован в IOBroker.
Вот здесь https://core.telegram.org/bots/api/#setwebhook написано, что порты могут быть только 443, 80, 88, 8443.
Незнаю, получится ли так настроить, чтобы к MJD не было доступа совсем, не силен в данном вопросе.

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 1:46 pm
skysilver
Eraser писал(а):Вот здесь https://core.telegram.org/bots/api/#setwebhook написано, что порты могут быть только 443, 80, 88, 8443.
Незнаю, получится ли так настроить, чтобы к MJD не было доступа совсем, не силен в данном вопросе.
Тут скорее не MJD надо настраивать, а Апач. Допустим поднять еще один виртуальный хост, который будет слушать на порту 88. Соответственно только этот порт наружу и вытащить.
Вопрос в том, сможет ли приложение телеграмма в MJD работать, когда файл webhook_telegram.php лежит в директории другого виртуального сервера Апач?
Понимаю, что в текущем виде, скорее всего, нет. Но думаю, есть способы этого добиться.

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 1:56 pm
Eraser
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)

Re: Модуль "Telegram"

Добавлено: Пт ноя 11, 2016 1:58 pm
Dark_Veter
skysilver писал(а): Тут скорее не MJD надо настраивать, а Апач. Допустим поднять еще один виртуальный хост, который будет слушать на порту 88. Соответственно только этот порт наружу и вытащить.
Вопрос в том, сможет ли приложение телеграмма в MJD работать, когда файл webhook_telegram.php лежит в директории другого виртуального сервера Апач?
Понимаю, что в текущем виде, скорее всего, нет. Но думаю, есть способы этого добиться.
Можно наверное через nginx попробовать, повесить на отдельном порту и proxy_pass сделать.