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

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

Модератор: immortal

Аватара пользователя
Fantom
Сообщения: 31
Зарегистрирован: Чт фев 06, 2014 9:56 pm
Благодарил (а): 9 раз
Поблагодарили: 2 раза

Re: Модуль "Telegram"

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

Eraser писал(а):Вот здесь https://core.telegram.org/bots/self-signed описывается как создавать сертификат, и еще там указано требование к сертификату PEM encoded (ASCII BASE64)
Написано что нужен PEM но прописываю путь до него и все равно ошибка. Сертификат делал как у StartSSL на сайте написано, сначала scr ( openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr ) потом они мне сертификаты и PEM файл ( что тоже самое что и сертификат.scr вроде, да?)
Сертификат в хроме проверку проходит, замок зеленый показывает
Banana PI (Armbian 21.02.1 Buster) + Arduino + esp8266
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "Telegram"

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

Dark_Veter писал(а):Можно наверное через nginx попробовать, повесить на отдельном порту и proxy_pass сделать.
Можно. Но, имхо, это перебор из-за одного-то телеграм-бота. ))
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Amarok » Пт ноя 11, 2016 4:09 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
Нашел

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

18:08:11 execCommand => Execute user`s code command
18:08:11 execCommand => Find command
И пусто. В телеграмку ничего не падает
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Fantom
Сообщения: 31
Зарегистрирован: Чт фев 06, 2014 9:56 pm
Благодарил (а): 9 раз
Поблагодарили: 2 раза

Re: Модуль "Telegram"

Сообщение Fantom » Сб ноя 12, 2016 2:28 pm

Разобрался с сертификатом, теперь пишет
Last error: Wrong response from the webhook: 401 Unauthorized
Banana PI (Armbian 21.02.1 Buster) + Arduino + esp8266
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Сб ноя 12, 2016 5:21 pm

Fantom писал(а):Разобрался с сертификатом, теперь пишет
Last error: Wrong response from the webhook: 401 Unauthorized
Для отключения авторизации я добавлял исключение в lib/general.class.php для webhook_telegram.php.

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

if (defined('HOME_NETWORK') && HOME_NETWORK != '' && !isset($argv[0])
    && (!(preg_match('/\/gps\.php/is', $_SERVER['REQUEST_URI'])
       || preg_match('/\/trackme\.php/is', $_SERVER['REQUEST_URI'])
       || preg_match('/\/btraced\.php/is', $_SERVER['REQUEST_URI']))
       || $_REQUEST['op'] != '')
    && !preg_match('/\/webhook_telegram\.php/is', $_SERVER['REQUEST_URI'])
    && !preg_match('/\/rss\.php/is', $_SERVER['REQUEST_URI'])
    && 1)
{
За это сообщение автора Eraser поблагодарили (всего 2):
Fantom (Сб ноя 12, 2016 5:51 pm) • Amarok (Вс апр 01, 2018 1:07 pm)
Рейтинг: 2.33%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение ErmolenkoM » Сб ноя 12, 2016 5:36 pm

Eraser писал(а):
Fantom писал(а):Разобрался с сертификатом, теперь пишет
Last error: Wrong response from the webhook: 401 Unauthorized
Для отключения авторизации я добавлял исключение в lib/general.class.php для webhook_telegram.php.
Можно указать имя:пароль@ прямо в вебхуке между https и именем сайта
За это сообщение автора ErmolenkoM поблагодарили (всего 2):
Fantom (Сб ноя 12, 2016 5:46 pm) • Amarok (Вт мар 27, 2018 4:17 pm)
Рейтинг: 2.33%
aka msh555
Cubian на Cubietruck, Connect
Аватара пользователя
Fantom
Сообщения: 31
Зарегистрирован: Чт фев 06, 2014 9:56 pm
Благодарил (а): 9 раз
Поблагодарили: 2 раза

Re: Модуль "Telegram"

Сообщение Fantom » Сб ноя 12, 2016 5:45 pm

ErmolenkoM писал(а): Можно указать имя:пароль@ прямо в вебхуке между https и именем сайта
Помогло, спасибо.
И так тоже работает
Eraser писал(а): Для отключения авторизации я добавлял исключение в lib/general.class.php для webhook_telegram.php.
СпойлерПоказать

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

if (defined('HOME_NETWORK') && HOME_NETWORK != '' && !isset($argv[0])
    && (!(preg_match('/\/gps\.php/is', $_SERVER['REQUEST_URI'])
       || preg_match('/\/trackme\.php/is', $_SERVER['REQUEST_URI'])
       || preg_match('/\/btraced\.php/is', $_SERVER['REQUEST_URI']))
       || $_REQUEST['op'] != '')
    && !preg_match('/\/webhook_telegram\.php/is', $_SERVER['REQUEST_URI'])
    && !preg_match('/\/rss\.php/is', $_SERVER['REQUEST_URI'])
    && 1)
Думаю так безопасней будет
Banana PI (Armbian 21.02.1 Buster) + Arduino + esp8266
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Сб ноя 12, 2016 10:48 pm

Amarok писал(а): И пусто. В телеграмку ничего не падает
в последней версии должно заработать, не отправлялся ответ, если он передается из команды в return
За это сообщение автора Eraser поблагодарили (всего 2):
Amarok (Вс ноя 13, 2016 10:06 am) • Genplane (Пн ноя 14, 2016 11:53 am)
Рейтинг: 2.33%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Пн ноя 14, 2016 11:48 am

Добавил функцию getUserName получение имени пользователя

Применил в коде на событие получения изображения

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

$name = $this->getUserName($chat_id);
$this->log("Получен файл от ".$name.". Путь к файлу ".$file_path);

if ($chat_id != 139809588)
    $this->sendImageToUser(139809588, $file_path, 'Получен файл от '. $name); 
Обновил помощь
Добавил кнопку обновления информации о пользователях (аватар и имя)
Исправления при установке webhook (автоматически сохраняются url и путь к сертификату)
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Модуль "Telegram"

Сообщение Sas » Пн ноя 14, 2016 7:45 pm

А можно ли сделать отправку поюзерно?
В системе же все равно есть привязка айди телеграмма к айди пользователя мжд. С гетюзернейм уже легче, но все равно надо будет каждому писать свой велосипед.
Удобно же когда система отвечает на сообщение только тому кто спросил что то, а не всем в общий чат
Ответить