Samir77

<<< Back

Отправка и удаление старых сообщений в телеграмм

Некогда ( ударение на первый слог :) ) Александр, он же @Logrus написал статью (хотел указать на нее ссылку, но видимо автор ее удалил) об удалении предыдущих постов в телеграмм.
Не все понимают сразу что и как ( Вы уж простите что наверное повторяю Вашу статью!), но Благодаря безграничной помощи и терпению Руслана Бег он же @newz20,
постараюсь написать статью для новичков.
Замечания, дополнения , принимаются!( Для всех же лучше будет)
Что смогу исправлю и допишу!)


Использовать можно в командах и событиях  самого модуля телеграмм, в методах обьектов и сценариях.

Relay10 // обьект
metod statusUpdated

// так как некоторые не обязательно что бы алиса говорила, но можно писать в чат, заодно потом и удаляеться само.


 if ($params['NEW_VALUE'] == $params['OLD_VALUE']) return;    
if ($params['NEW_VALUE'] == 1){
$messageN = "Ночник LED включен!";
 }elseif ($params['NEW_VALUE'] == 0 && $params['OLD_VALUE'] == 1){
$messageN = "Ночник LED выключен!"; // всесто say переменную с уникальным индификатором
}

include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$chat_id = 996725696;
$res = $telegram_module->sendMessageToUser($chat_id,$messageN); // переменая результат $res

if ($message_id = $res['result']['message_id']) {
 $message_id_old = registeredEventDetails('tlg/events/1Nochnik'); // каждый раз events должен быть уникальным (не повторятся!)
 $telegram_module->deleteMessage($chat_id, $message_id_old);
 registerEvent('tlg/events/1Nochnik', $message_id, 1);  // каждый раз events должен быть уникальным (не повторятся!)
 //$this->deleteMessage($chat_id, $data['message']['message_id']);
}

//include_once(DIR_MODULES . 'telegram/telegram.class.php');
//$telegram_module = new telegram();
$chat_id = 430199255;
$res = $telegram_module->sendMessageToUser($chat_id,$messageN);  // переменная $res ( обычно там нет такого)

if ($message_id = $res['result']['message_id']) {
 $message_id_old = registeredEventDetails('tlg/events/2Nochnik'); // каждый раз events должен быть уникальным (не повторятся!)
 $telegram_module->deleteMessage($chat_id, $message_id_old);
 registerEvent('tlg/events/2Nochnik', $message_id, 1);  // каждый раз events должен быть уникальным (не повторятся!)
 //$this->deleteMessage($chat_id, $data['message']['message_id']);
}

// это пример с модуля яндекс пробки
// отправляет и удаляет предыдущие картинки


if ($params['NEW_VALUE'] == $params['OLD_VALUE']) return;
if ($params['NEW_VALUE']>7) {$icon="<img src='/templates/app_yatraffic/icons/red.png'>";}
if ($params['NEW_VALUE']<7) {$icon="<img src='/templates/app_yatraffic/icons/yellow.png'>";}
if ($params['NEW_VALUE']<4) {$icon="<img src='/templates/app_yatraffic/icons/green.png'>";}
sg('yt_info.TRtypeicon',$icon);

include_once(DIR_MODULES . 'telegram/telegram.class.php');
$typeicon = gg('yt_info.TRtypeicon');
$img = DOC_ROOT.substr($typeicon, 10, -2);
$telegram_module = new telegram();

$chat_id = 996725696;
  $res = $telegram_module->sendImage($chat_id, $img,'TRtypeicon Rpi3'); // переменная $res ( обычно там нет такого)

 if ($message_id = $res['result']['message_id']) {
  $message_id_old = registeredEventDetails('tlg/events/TRtypeiconM');
  $telegram_module->deleteMessage($chat_id, $message_id_old);
  registerEvent('tlg/events/TRtypeiconM', $message_id, 1);
  }

$chat_id = 430199255;
  $res = $telegram_module->sendImage($chat_id, $img,'TRtypeicon Rpi3');  // переменная $res ( обычно там нет такого)

 if ($message_id = $res['result']['message_id']) {
  $message_id_old = registeredEventDetails('tlg/events/TRTypeiconG'); // каждый раз events должен быть уникальным (не повторятся!)  
  $telegram_module->deleteMessage($chat_id, $message_id_old);
  registerEvent('tlg/events/TRTypeiconG', $message_id, 1);
  }
//передаем какая сейчас погода 
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$messageW = ('фактическая погода от weatherMap обновилась и составляет! '  .gg('ow_fact.reelfeel') .  ' °C');  // всесто say переменную с уникальным индификатором

include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$chat_id = 996725696
$res = $telegram_module->sendMessageToUser($chat_id,$messageW); // переменная $res ( обычно там нет такого)

if ($message_id = $res['result']['message_id']) {
 $message_id_old = registeredEventDetails('tlg/events/MweatherMap'); // каждый раз events должен быть уникальным (не повторятся!)
 $telegram_module->deleteMessage($chat_id, $message_id_old);
 registerEvent('tlg/events/MweatherMap', $message_id, 1);
 }

$chat_id = 430199255;
$res = $telegram_module->sendMessageToUser($chat_id,$messageW); // переменная $res ( обычно там нет такого)

if ($message_id = $res['result']['message_id']) {
 $message_id_old = registeredEventDetails('tlg/events/GweatherMap'); // каждый раз events должен быть уникальным (не повторятся!)
 $telegram_module->deleteMessage($chat_id, $message_id_old);
 registerEvent('tlg/events/GweatherMap', $message_id, 1);  // каждый раз events должен быть уникальным (не повторятся!)
}

// отправляе в телегу картинку погоды
// изначально отправляло только как этот скрипт ниже

$link_to_icon = substr($icon, 10, -2);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendImageToAdmin(DOC_ROOT . $link_to_icon, $message = 'Изображение погоды');

// теперь и отправляет и чистит предыдущий

include_once(DIR_MODULES . 'telegram/telegram.class.php');
$typeicon = gg('ow_fact.weather_typeicon');
$img = DOC_ROOT.substr($icon, 10, -2);
$telegram_module = new telegram();

$chat_id = 996725696;
  $res = $telegram_module->sendImage($chat_id, $img,'weather_typeicon');   // переменная $res ( обычно там нет такого)

 if ($message_id = $res['result']['message_id']) {
  $message_id_old = registeredEventDetails('tlg/events/Wicon');  // каждый раз events должен быть уникальным (не повторятся!)
  $telegram_module->deleteMessage($chat_id, $message_id_old);
  registerEvent('tlg/events/Wicon', $message_id, 1);  // каждый раз events должен быть уникальным (не повторятся!)
  }

$chat_id = 430199255;
  $res = $telegram_module->sendImage($chat_id, $img,'weather_typeicon');   // переменная $res ( обычно там нет такого)

 if ($message_id = $res['result']['message_id']) {
  $message_id_old = registeredEventDetails('tlg/events/WTicon');  // каждый раз events должен быть уникальным (не повторятся!)
  $telegram_module->deleteMessage($chat_id, $message_id_old);
  registerEvent('tlg/events/WTicon', $message_id, 1);  // каждый раз events должен быть уникальным (не повторятся!)
  }

// отправляе в телегу Графики


 include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
include_once(DIR_MODULES . 'charts/charts.class.php');
$charts = new charts();
$chartPNG = $charts->getImage(8);
$chat_id = 996725696;
$res = $telegram_module->sendImage($chat_id, ROOT.$chartPNG);
//$res = $this->sendImageToUser($chat_id, ROOT.$chartPNG);

 if ($message_id = $res['result']['message_id']) {
  $message_id_old = registeredEventDetails('tlg/events/Pi3+');
  $telegram_module->deleteMessage($chat_id, $message_id_old);
  registerEvent('tlg/events/Pi3+', $message_id, 1);
  }

А вот и обещаная ссылка на первоисточник!!!
http://connect.majordomohome.com/profile/1646/blog...

Благодаря помощи
https://connect.smartliving.ru/profile/2428

Discuss (1) (3)

See also:
2021-04-09 Запуск и выключение компьютера с помощью Majordomo
2021-03-24 Bad gateway 504
2021-02-15 ИНФОРМЕР ПОГОДЫ НА САЙТ
2021-02-07 Запрос в телегу о состояние аккумулятора устройств
2020-12-15 Как сканировать BLE устройства и Bluetooth в модуле Устройства Online

Киев, Украина