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

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

Модератор: immortal

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

Re: Модуль "Telegram"

Сообщение Fantom »

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
Откуда: Киров, Россия
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver »

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

Re: Модуль "Telegram"

Сообщение Amarok »

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
И пусто. В телеграмку ничего не падает
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
Fantom
Сообщения: 31
Зарегистрирован: Чт фев 06, 2014 9:56 pm

Re: Модуль "Telegram"

Сообщение Fantom »

Разобрался с сертификатом, теперь пишет
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
Откуда: Киров
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser »

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)
{
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Контактная информация:

Re: Модуль "Telegram"

Сообщение ErmolenkoM »

Eraser писал(а):
Fantom писал(а):Разобрался с сертификатом, теперь пишет
Last error: Wrong response from the webhook: 401 Unauthorized
Для отключения авторизации я добавлял исключение в lib/general.class.php для webhook_telegram.php.
Можно указать имя:пароль@ прямо в вебхуке между https и именем сайта
aka msh555
Cubian на Cubietruck, Connect
Аватара пользователя
Fantom
Сообщения: 31
Зарегистрирован: Чт фев 06, 2014 9:56 pm

Re: Модуль "Telegram"

Сообщение Fantom »

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

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

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
Откуда: Киров
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser »

Amarok писал(а): И пусто. В телеграмку ничего не падает
в последней версии должно заработать, не отправлялся ответ, если он передается из команды в return
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser »

Добавил функцию 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

Re: Модуль "Telegram"

Сообщение Sas »

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