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

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

Модератор: immortal

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

Re: Модуль "Telegram"

Сообщение xor » Чт окт 26, 2017 2:04 am

Если программируется с трудом - попробуйте модуль-планировщик Cron.
Создаёте там задачку с кодом запуска Вашего скрипта и устанавливаете параметры запуска:
*/5 * * * * - каждые 5 минут
За это сообщение автора xor поблагодарил:
kamerons (Чт окт 26, 2017 2:20 am)
Рейтинг: 1.16%
kamerons
Сообщения: 15
Зарегистрирован: Сб апр 08, 2017 11:25 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Модуль "Telegram"

Сообщение kamerons » Чт окт 26, 2017 2:25 am

xor писал(а):Если программируется с трудом - попробуйте модуль-планировщик Cron.
Создаёте там задачку с кодом запуска Вашего скрипта и устанавливаете параметры запуска:
*/5 * * * * - каждые 5 минут
Ходил я около этого крона сегодня. Спсиабо очередное гуру-людям, что направляют в русло малопонимающих
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver » Чт окт 26, 2017 2:25 am

kamerons писал(а):Но заставить раз в 5 мин или n мин ума не хватает. Вы уж простите, если не ясно объясняю "хотелку"
Вот так будет раз в 5 минут выполняться:

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

$m = date('i', time());

if ( ((int)$m)%5 == 0 ) {
   // нужный код
} 
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
kamerons
Сообщения: 15
Зарегистрирован: Сб апр 08, 2017 11:25 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Модуль

Сообщение kamerons » Чт окт 26, 2017 2:33 am

skysilver писал(а):
kamerons писал(а):Но заставить раз в 5 мин или n мин ума не хватает. Вы уж простите, если не ясно объясняю "хотелку"
Вот так будет раз в 5 минут выполняться:

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

$m = date('i', time());

if ( ((int)$m)%5 == 0 ) {
   // нужный код
}
Это пихать в сценарий?
За это сообщение автора kamerons поблагодарил:
Samir77 (Вс янв 24, 2021 10:13 am)
Рейтинг: 1.16%
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver » Чт окт 26, 2017 2:34 am

kamerons писал(а):Это пихать в сценарий?
Нее, в метод onNewMinute.
За это сообщение автора skysilver поблагодарили (всего 2):
kamerons (Чт окт 26, 2017 2:38 am) • Samir77 (Вс янв 24, 2021 10:13 am)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Чт окт 26, 2017 7:51 am

Pacific писал(а):Eraser, спасибо за отлов ошибок в коде в командах модуля.
Поэкспериментировал с простейшими Событиями.
1.Код
say($text);
Алиса пишет 2 сообщения:
- мой текст;
- неизвестная команда.
2.Код
say($text);
return($text);
Алиса пишет 3 сообщения:
- мой текст;
- мой текст;
- неизвестная команда.

Если снять флажок Включить, то мой текст не выводится, но выводится
- неизвестная команда.

Поясню, что вывод происходит в истории МЖД, а не в клиенте Телеграмм.
Наверно, так не должно быть?
если речь идет именно об обработке событий, то ...
обработка команды в модуле выполняется так:
1.при поступлении команды запускается обработчики событий соответствующие полученной команде, далее п2
2.если включено выполнение команд в настройках пользователя, выполняется поиск команды, если найдена, то выполняется команда, если нет, то п3
3.если включено выполнение шаблонов, то команда передается в систему, и далее по ней выполняются заданные шаблоны поведения

если поcле обработки события, надо отключить дальнейшую обработку полученной команды из телеграмм, нужно в коде события поставить флаг $skip=true;
Последний раз редактировалось Eraser Чт окт 26, 2017 8:12 am, всего редактировалось 1 раз.
За это сообщение автора Eraser поблагодарил:
Pacific (Чт окт 26, 2017 9:15 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль

Сообщение Eraser » Чт окт 26, 2017 7:57 am

kamerons писал(а):warik,
я имел ввиду вот такое примерно

$tempCpu=gg('ThisComputer.tempCpu');
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToAdmin("$tempCpu*");

С криворуким пониманием впихнул этот код в нюминут, работает. Но заставить раз в 5 мин или n мин ума не хватает. Вы уж простите, если не ясно объясняю "хотелку"
предлагаю вместо sendMessageToAdmin использовать editMessage
те идея следующая, пользователь отправляет команду CPU, ему приходит ответ, и у этого ответа сохраняется его идентификатор, и в далее через каждые 5 минут, будет по этому id изменятся новыми данными первоначальное сообщение, это не будет засирать чат в телеграм
За это сообщение автора Eraser поблагодарил:
Pacific (Чт окт 26, 2017 9:16 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение savenko_egor » Чт окт 26, 2017 8:29 am

kamerons писал(а):warik,
я имел ввиду вот такое примерно

$tempCpu=gg('ThisComputer.tempCpu');
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendMessageToAdmin("$tempCpu*");

С криворуким пониманием впихнул этот код в нюминут, работает. Но заставить раз в 5 мин или n мин ума не хватает. Вы уж простите, если не ясно объясняю "хотелку"
Я бы рекомендовал Вам сделать кнопку в Телеге и по нажатии этой кнопки получать значение которое нужно. Я себе таким образом сделал получение нагрузки на сервере.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение directman66 » Пн окт 30, 2017 9:51 pm

У меня почему-то не приходят голосовые сообщения в телеграм. Если вручную указать конкретный файл и запустить отправку из сценария, то файл отправляется. Но вот уведомления Алисы почему-то приходят только текстом. У пользователя стоят все галки, в том числе играть голос. Поиском ниче внятного не нашел.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Ср ноя 01, 2017 9:14 am

directman66 писал(а):У меня почему-то не приходят голосовые сообщения в телеграм. Если вручную указать конкретный файл и запустить отправку из сценария, то файл отправляется. Но вот уведомления Алисы почему-то приходят только текстом. У пользователя стоят все галки, в том числе играть голос. Поиском ниче внятного не нашел.
уведомления от Алисы будут приходить только текстом
настройка "Играть голос" означает, что голосовое сообщение полученное от пользователя будет проиграно MJD
За это сообщение автора Eraser поблагодарил:
directman66 (Чт ноя 02, 2017 7:26 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Ответить