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

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

Модератор: immortal

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

Re: Модуль "Telegram"

Сообщение xor »

Если программируется с трудом - попробуйте модуль-планировщик Cron.
Создаёте там задачку с кодом запуска Вашего скрипта и устанавливаете параметры запуска:
*/5 * * * * - каждые 5 минут
kamerons
Сообщения: 15
Зарегистрирован: Сб апр 08, 2017 11:25 am

Re: Модуль "Telegram"

Сообщение kamerons »

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

Re: Модуль "Telegram"

Сообщение skysilver »

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

Re: Модуль

Сообщение kamerons »

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

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

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

if ( ((int)$m)%5 == 0 ) {
   // нужный код
}
Это пихать в сценарий?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver »

kamerons писал(а):Это пихать в сценарий?
Нее, в метод onNewMinute.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser »

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 раз.
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Контактная информация:

Re: Модуль

Сообщение Eraser »

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 изменятся новыми данными первоначальное сообщение, это не будет засирать чат в телеграм
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Контактная информация:

Re: Модуль "Telegram"

Сообщение savenko_egor »

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
Сообщения: 2800
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Контактная информация:

Re: Модуль "Telegram"

Сообщение directman66 »

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

Re: Модуль "Telegram"

Сообщение Eraser »

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