Страница 149 из 193
Re: [Модуль] Telegram (telegram)
Добавлено: Чт янв 30, 2020 5:32 pm
xor
VladPTZ писал(а):Да. не хватало прав, прописал в файле vsftpd.conf параметр local_umask=022 и скрипт заработал.
Как странно всё у вас на линуксах! Прав нет, а каждая десятая картинка отсылается))
Отправлено с моего Redmi 4X через Tapatalk
Re: [Модуль] Telegram (telegram)
Добавлено: Пт янв 31, 2020 12:42 am
harrysmith
Добрый день
ранше все что писалось в систем Историю Событий все отправлялось в телеграмм после очередного обновления или копания в настройках в телеграмм не выбрасывается история сообщений. Если сам в скрипте пропишешь что отдавать в телеграмм то оно отдает а все сообщения Истории событии не отдает в телеграмм. Но после перезапуска в телекрам отдает статусы системы и до первого часового сообщения об обновлении времени и погоды. Поле Этих сообщений замолкает (в историю пишет в телеграмм нет) Подскажите где что покопать?
Re: [Модуль] Telegram (telegram)
Добавлено: Пт янв 31, 2020 7:20 am
nick7zmail
xor писал(а): Чт янв 30, 2020 5:32 pm
VladPTZ писал(а):Да. не хватало прав, прописал в файле vsftpd.conf параметр local_umask=022 и скрипт заработал.
Как странно всё у вас на линуксах! Прав нет, а каждая десятая картинка отсылается))
Отправлено с моего Redmi 4X через Tapatalk
Тут скорее с описанием не точности)) скорее всего тестировали на разных картинках (не только фото с камеры) - и они отправлялись. А фото с камеры, скорее всего ни одно не отправлялось, либо отправлялось положенное/перемещенное ручками, на которое права переписывались.
Re: [Модуль] Telegram (telegram)
Добавлено: Вт фев 04, 2020 12:59 pm
mrcoolyok
Можно ли как то сделать так, чтобы уведомления say() уходили в чат?
На текущий момент только пользователю отправляет. Даже если чат авторизовать и поставить в модуле его админом.
При этом $telegram_module->sendMessage(id_чата,"test message"); работает корректно.
Re: [Модуль] Telegram (telegram)
Добавлено: Вт фев 04, 2020 1:02 pm
Eraser
mrcoolyok писал(а): Вт фев 04, 2020 12:59 pm
Можно ли как то сделать так, чтобы уведомления say() уходили в чат?
На текущий момент только пользователю отправляет. Даже если чат авторизовать и поставить в модуле его админом.
При этом $telegram_module->sendMessage(id_чата,"test message"); работает корректно.
в чат бот добавлен?
что в логе при включенном debug?
Re: [Модуль] Telegram (telegram)
Добавлено: Вт фев 04, 2020 2:51 pm
Aleksandr_A
Что-то не могу понять, а можно ли отправлять фотографии альбомом?
Или где можно посмотреть все возможности?
Re: [Модуль] Telegram (telegram)
Добавлено: Вт фев 04, 2020 2:56 pm
Eraser
Aleksandr_A писал(а): Вт фев 04, 2020 2:51 pm
Что-то не могу понять, а можно ли отправлять фотографии альбомом?
Или где можно посмотреть все возможности?
sendAlbum
Re: [Модуль] Telegram (telegram)
Добавлено: Вт фев 04, 2020 3:48 pm
mrcoolyok
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: отбой, проблема была в командах. Убрал к ним доступ чата - заработало, была ошибка в создании кнопок для чата, что логично
Re: [Модуль] Telegram (telegram)
Добавлено: Вт фев 04, 2020 5:25 pm
Mikhail72
gagarin74 писал(а): Ср янв 15, 2020 4:53 pm
Извиняюсь за наглость. В том то и проблема, что хотелось бы увидеть полный код живого примера."
Мой вариант, если еще актуально.
Во вкладке Команды должно быть так

- команды.jpg (50.25 КБ) 4477 просмотров
Во вкладке События

- События.jpg (97.87 КБ) 4477 просмотров
В событие Menu

- menu.jpg (85.85 КБ) 4477 просмотров
Этот код
Код: Выделить всё
//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 (97.29 КБ) 4477 просмотров
Код: Выделить всё
//Back
if ($callback == 'Callback_Back'){
$em_back = json_decode('"'.'\ud83d\udd19'.'"'); // назад
$option = "Отмена";
$this->editMessage($chat_id,$message_id, $option);
}
В событие Open

- open.jpg (146.2 КБ) 4477 просмотров
Код: Выделить всё
//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 (136.27 КБ) 4477 просмотров
Код: Выделить всё
//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 (103.33 КБ) 4477 просмотров
Код: Выделить всё
//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 (62.53 КБ) 4477 просмотров

- открыть.jpg (44.04 КБ) 4477 просмотров

- Погода.jpg (29.13 КБ) 4477 просмотров
Надеюсь поможет

Re: [Модуль] Telegram (telegram)
Добавлено: Пт фев 07, 2020 12:00 pm
yurat2008
Доброго времени суток
Подскажите в чем может быть трабл. 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