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

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

Модератор: immortal

Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 632 раза

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

Сообщение xor » Чт янв 30, 2020 5:32 pm

VladPTZ писал(а):Да. не хватало прав, прописал в файле vsftpd.conf параметр local_umask=022 и скрипт заработал.
Как странно всё у вас на линуксах! Прав нет, а каждая десятая картинка отсылается))

Отправлено с моего Redmi 4X через Tapatalk

За это сообщение автора xor поблагодарил:
tarasfrompir (Пт янв 31, 2020 9:15 am)
Рейтинг: 1.16%
Аватара пользователя
harrysmith
Сообщения: 86
Зарегистрирован: Чт сен 29, 2016 5:49 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

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

Сообщение harrysmith » Пт янв 31, 2020 12:42 am

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

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

Сообщение nick7zmail » Пт янв 31, 2020 7:20 am

xor писал(а):
Чт янв 30, 2020 5:32 pm
VladPTZ писал(а):Да. не хватало прав, прописал в файле vsftpd.conf параметр local_umask=022 и скрипт заработал.
Как странно всё у вас на линуксах! Прав нет, а каждая десятая картинка отсылается))

Отправлено с моего Redmi 4X через Tapatalk
Тут скорее с описанием не точности)) скорее всего тестировали на разных картинках (не только фото с камеры) - и они отправлялись. А фото с камеры, скорее всего ни одно не отправлялось, либо отправлялось положенное/перемещенное ручками, на которое права переписывались.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
mrcoolyok
Сообщения: 18
Зарегистрирован: Вс янв 19, 2020 9:11 am
Благодарил (а): 7 раз
Поблагодарили: 0

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

Сообщение mrcoolyok » Вт фев 04, 2020 12:59 pm

Можно ли как то сделать так, чтобы уведомления say() уходили в чат?
На текущий момент только пользователю отправляет. Даже если чат авторизовать и поставить в модуле его админом.
При этом $telegram_module->sendMessage(id_чата,"test message"); работает корректно.
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 873 раза
Контактная информация:

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

Сообщение Eraser » Вт фев 04, 2020 1:02 pm

mrcoolyok писал(а):
Вт фев 04, 2020 12:59 pm
Можно ли как то сделать так, чтобы уведомления say() уходили в чат?
На текущий момент только пользователю отправляет. Даже если чат авторизовать и поставить в модуле его админом.
При этом $telegram_module->sendMessage(id_чата,"test message"); работает корректно.
в чат бот добавлен?
что в логе при включенном debug?
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Aleksandr_A
Сообщения: 33
Зарегистрирован: Ср окт 09, 2019 9:24 am
Благодарил (а): 5 раз
Поблагодарили: 6 раз

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

Сообщение Aleksandr_A » Вт фев 04, 2020 2:51 pm

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

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

Сообщение Eraser » Вт фев 04, 2020 2:56 pm

Aleksandr_A писал(а):
Вт фев 04, 2020 2:51 pm
Что-то не могу понять, а можно ли отправлять фотографии альбомом?
Или где можно посмотреть все возможности?
sendAlbum
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
mrcoolyok
Сообщения: 18
Зарегистрирован: Вс янв 19, 2020 9:11 am
Благодарил (а): 7 раз
Поблагодарили: 0

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

Сообщение mrcoolyok » Вт фев 04, 2020 3:48 pm

Eraser писал(а):
Вт фев 04, 2020 1:02 pm
в чат бот добавлен?
что в логе при включенном debug?
[/quote]
В чате Бот как админ.
В логе не вижу ничего страшного:

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

)
)
[text] => TEST
[date] => 1580820351
)
[type] => channel
[title] => SmartHome
[id] => -1001420********
(
[chat] => Array
[author_signature] => MajordomoBot
[message_id] => 4865
(
[result] => Array
[ok] => 1
(
17:45:51 Array
)
)
[text] => TEST
[date] => 1580820351
)
[type] => private
[username] => mrcoolyok
[last_name] => ********
[first_name] => Sergey
[id] => 5802******
(
[chat] => Array
)
[username] => coolyok_bot
[first_name] => MajordomoBot
[is_bot] => 1
[id] => 6599********
(
[from] => Array
[message_id] => 449
(
[result] => Array
[ok] => 1
(
17:45:51 Array
17:45:50 Sended - TEST
17:45:50 {"keyboard":[],"one_time_keyboard":false,"resize_keyboard":true,"selective":true}
17:45:50 Send to -10014207******** - TEST
17:45:50 {"keyboard":[],"one_time_keyboard":false,"resize_keyboard":true,"selective":true}
17:45:50 Send to 5802******* - TEST
17:45:50 event=SAY details={"level":0,"message":"TEST","member_id":0}
)
)
17:45:50 Send to -10014207******** - TEST - отправка в чат, но выше никаких ошибок.
По факту не отправлено.

upd: отбой, проблема была в командах. Убрал к ним доступ чата - заработало, была ошибка в создании кнопок для чата, что логично
Mikhail72
Сообщения: 26
Зарегистрирован: Вт июн 14, 2016 11:26 pm
Откуда: Тюмень
Благодарил (а): 5 раз
Поблагодарили: 6 раз

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

Сообщение Mikhail72 » Вт фев 04, 2020 5:25 pm

gagarin74 писал(а):
Ср янв 15, 2020 4:53 pm
Извиняюсь за наглость. В том то и проблема, что хотелось бы увидеть полный код живого примера."
Мой вариант, если еще актуально.
картинки и кодПоказать

Во вкладке Команды должно быть так

команды.jpg
команды.jpg (50.25 КБ) 3738 просмотров
Во вкладке События
События.jpg
События.jpg (97.87 КБ) 3738 просмотров
В событие Menu
menu.jpg
menu.jpg (85.85 КБ) 3738 просмотров
Этот код

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

//Menu

$this->sendAction($chat_id, "typing");

$em_err = json_decode('"'.'\u26d4'.'"');//кирпич
$em_alarm = json_decode('"'.'\u26a0'.'"');//Воскл. знак
$em_kal = json_decode('"'.'\ud83d\udeaa'.'"');//Дверь
$em_cl = json_decode('"'.'\ud83d\udd12'.'"');// замок закрытый
$em_op = json_decode('"'.'\ud83d\udd13'.'"');// замок открытый
$em_key = json_decode('"'.'\ud83d\udd11'.'"');// ключ
$em_akb = json_decode('"'.'\ud83d\udd0b'.'"'); // АКБ
$em_ok = json_decode('"'.'\ud83c\udd97'.'"'); // Ok
$em_back = json_decode('"'.'\ud83d\udd19'.'"'); // назад
$em_home = json_decode('"'.'\ud83c\udfe0'.'"'); //дом
$em_map = json_decode('"'.'\ud83d\uddfa'.'"'); //карта
$em_ol = json_decode('"'.'\ud83d\udc70\ud83c\udffb'.'"'); //невеста
$em_m = json_decode('"'.'\ud83e\udd34\ud83c\udffc'.'"'); //принц
$em_v = json_decode('"'.'\ud83d\udc67\ud83c\udffc'.'"'); //девочка
$em_l = json_decode('"'.'\ud83d\udca1'.'"');
$em_k = json_decode('"'.'\ud83d\udcac'.'"');
$em_n = json_decode('"'.'\u21a9\ufe0f'.'"');
$em_c = json_decode('"'.'\ud83d\udcf8'.'"');
$em_i = json_decode('"'.'\ud83d\udee0'.'"');
$em_s = json_decode('"'.'\u2699'.'"');
$em_g = json_decode('"'.'\ud83c\udf21'.'"');
$em_p = json_decode('"'.'\ud83c\udf24'.'"');
$em_o = json_decode('"'.'\ud83d\udcdd'.'"');
$off  = json_decode('"'.'\ud83c\udf11'.'"');
$on   = json_decode('"'.'\ud83c\udf15'.'"');
$em_rd = json_decode('"'.'\ud83d\udc47'.'"');
$em_cam = json_decode('"'.'\ud83c\udfa5'.'"');
$em_kuh = json_decode('"'.'\ud83c\udfa5 \ud83c\udf7d'.'"'); //\ud83c\udf7d
$em_kom = json_decode('"'.'\ud83c\udfa5 \ud83d\udecb'.'"'); //\ud83d\udecb

$pos = strripos($text , "Меню");
if ($pos > -1) {
    $this->sendAction($chat_id, "typing");
 	include_once(DIR_MODULES . 'telegram/telegram.class.php');
    $telegram_module = new telegram();
    $option = array( array($telegram_module->buildInlineKeyboardButton($text=$em_p." Погода","","Callback_Meteo",""),
                     	   $telegram_module->buildInlineKeyboardButton($text=$em_map." Местоположение","","Callback_Loc","") ),
                     array($telegram_module->buildInlineKeyboardButton($text=$em_l." Свет","","Callback_Light",""),
                     	   $telegram_module->buildInlineKeyboardButton($text=$em_g." Климат ".$em_home,"","Callback_Klim","") ),
                     array($telegram_module->buildInlineKeyboardButton($text=$em_o." Отчеты","","Callback_Rep",""),
                     	   $telegram_module->buildInlineKeyboardButton($text=$em_key." Открыть","","Callback_Open","") ),
                     array($telegram_module->buildInlineKeyboardButton($text=$em_back." Назад","","Callback_Back",""),
                     	   $telegram_module->buildInlineKeyboardButton($text=$em_s." Служебное","","Callback_Job","") ));
    $keyb = $telegram_module->buildInlineKeyBoard($option);

    $content = array('chat_id' => $chat_id, 'text' => $em_k." Выберите нужный пункт ".$em_rd, 'reply_markup' => $keyb);
    $telegram_module->sendContent($content);  
    $skip = true;
}
В событие Back
back.jpg
back.jpg (97.29 КБ) 3738 просмотров

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

//Back

if ($callback == 'Callback_Back'){
$em_back = json_decode('"'.'\ud83d\udd19'.'"'); // назад
$option = "Отмена";
$this->editMessage($chat_id,$message_id, $option);
}
В событие Open
open.jpg
open.jpg (146.2 КБ) 3738 просмотров

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

//Open
if ($callback == 'Callback_Open'){
$em_cl = json_decode('"'.'\ud83d\udd12'.'"');// замок закрытый
$em_op = json_decode('"'.'\ud83d\udd13'.'"');// замок открытый
$em_kal = json_decode('"'.'\ud83d\udeaa'.'"');//Дверь
$em_back = json_decode('"'.'\ud83d\udd19'.'"'); // назад
$em_k = json_decode('"'.'\ud83d\udcac'.'"');
$em_rd = json_decode('"'.'\ud83d\udc47'.'"');
if (gg("Kalitka.status") == 1) $ks = $em_op; else $ks = $em_cl;
    if (gg("Lgate.status") == 1) $lgs = $em_op; else $lgs = $em_cl;
 	if (gg("Rgate.status") == 1) $rgs = $em_op; else $rgs = $em_cl;
 	include_once(DIR_MODULES . 'telegram/telegram.class.php');
    $telegram_module = new telegram();
 	$telegram_module->deleteMessage($chat_id,$message_id);
    $option = array( array($telegram_module->buildInlineKeyboardButton($text=$em_kal." Калитка","","Callback_Kalitka",""),
                     	   $telegram_module->buildInlineKeyboardButton($text=$em_kal.$em_kal." Ворота","","Callback_Gates","") ),
                     array($telegram_module->buildInlineKeyboardButton($text=$em_back." Назад","","Callback_Back","")));
	$keyb = $telegram_module->buildInlineKeyBoard($option);

    $content = array('chat_id' => $chat_id, 'text' => $em_k." Что нужно открыть? ".$em_rd, 'reply_markup' => $keyb);
    $telegram_module->sendContent($content);
}
В событие Kalitka
Kalitka.jpg
Kalitka.jpg (136.27 КБ) 3738 просмотров

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

//Kalitka
if ($callback == 'Callback_Kalitka'){
$em_cl = json_decode('"'.'\ud83d\udd12'.'"');// замок закрытый
$em_op = json_decode('"'.'\ud83d\udd13'.'"');// замок открытый
$em_kal = json_decode('"'.'\ud83d\udeaa'.'"');//Дверь
$em_back = json_decode('"'.'\ud83d\udd19'.'"'); // назад
if (gg("Kalitka.status") == 0){
     $ks = $em_op;
     $text =$em_kal. " Калитка открывается ".$ks;
     runScript('KalitkaOpen');
    } else {$ks = $em_op; $text = $em_kal." Калитка уже открыта ".$ks;}
    include_once(DIR_MODULES . 'telegram/telegram.class.php');
    $telegram_module = new telegram();
 	$this->editMessage($chat_id,$message_id, $text);
}
В событие Meteo
Meteo.jpg
Meteo.jpg (103.33 КБ) 3738 просмотров

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

//Meteo
if ($callback == 'Callback_Meteo'){
$em_g = json_decode('"'.'\ud83c\udf21'.'"');
$climat = $em_g." за окном ".gg('ow_fact.temperature')." С. ".gg('ow_fact.weather_type');
$this->editMessage($chat_id,$message_id, $climat);
}

Ну и дальше по аналогии


В результате получите это
меню.jpg
меню.jpg (62.53 КБ) 3738 просмотров
открыть.jpg
открыть.jpg (44.04 КБ) 3738 просмотров
Погода.jpg
Погода.jpg (29.13 КБ) 3738 просмотров
Надеюсь поможет :)
За это сообщение автора Mikhail72 поблагодарили (всего 3):
chimik (Пт фев 07, 2020 1:12 am) • slax (Пт фев 14, 2020 2:54 pm) • vitosmaxim80sad145 (Пт окт 23, 2020 10:33 pm)
Рейтинг: 3.49%
yurat2008
Сообщения: 147
Зарегистрирован: Сб мар 04, 2017 7:04 pm
Благодарил (а): 15 раз
Поблагодарили: 13 раз

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

Сообщение yurat2008 » Пт фев 07, 2020 12:00 pm

Доброго времени суток
Подскажите в чем может быть трабл. 4-я малина, накатил с образа. (имею опыт с 3 малиной. там все ок)

Так вот создал бота, подключил.
Зашел с акаунта на телефоне, прописал /start.
В настройках модуля пользователь таким образом не появлялся. Прописал в модуле пользователя вручную. Перезапустил цикл.

На телефоне появилась кнопка Ping.При нажатии пишет Ping но не отвечает Pong
Если написать с модуля сообщение то на телефон приходит, но историю и события не передает (ставил приоритет разный)
В истории написаное боту с телефона тоже не отображается

В логах только такое

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

10:43:10 0.24067600 Closing thread: exec php -q ./scripts/cycle_telegram.php --params "a:0:{}" > /dev/null 2>&1
Ошибок нет.
Пробовал уже пару раз подключать разных ботов, так же все

В истории событий модуля такое (некоторые циферы и буквы замененны ХХХХХ в целях безопасности

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

10:43:41 Update user info
10:43:41 Me: @ХХХХХХХoMajorbot (982986041)
10:43:40 Token bot - 9829ХХХХХ41:AAF90ХХХХJ_Fn50M5mIХХХХХХХХKIww 
Ответить