Yuriy Zhilovets 4 years ago
parent
commit
929ee6a8da
1 changed files with 36 additions and 3 deletions
  1. 36 3
      telegram.pl

+ 36 - 3
telegram.pl

@@ -269,6 +269,39 @@ sub notify::telegram::send
   })
 }
 
+sub notify::telegram::delete
+{
+  my $body = shift;
+  my $chat = $body->{chat};
+  my $msg = $body->{msgid};
+  
+  return request("deleteMessage", {chat_id => $chat, message_id => $msg});
+}
+
+sub notify::telegram::update
+{
+  my $body = shift;
+  my $chat = $body->{chat};
+  my $msg = $body->{msgid};
+  my $message = $body->{message};
+
+  my $params = {
+    chat_id => $chat,
+    message_id => $msg,
+    text => $message,
+    disable_web_page_preview => 1,
+  };
+  
+  $params->{parse_mode} ||= "HTML";
+
+  if ($params->{parse_mode} eq "HTML")
+  {
+    $params->{text} = $html_strip->process($params->{text});
+  }
+
+  return request("editMessageText", $params);
+}
+
 ############################
 
 sub command::help
@@ -385,13 +418,13 @@ sub notify
     disable_web_page_preview => 1,
   };
   
-  $params->{parse_mode} = "HTML" unless $rest->{parse_mode} && $rest->{parse_mode} eq "none";
-  $params->{reply_to_message_id} = $rest->{msgid} if $rest->{msgid};
+  $params->{parse_mode} ||= "HTML";
+  $params->{reply_to_message_id} = $rest->{reply_to} if $rest->{reply_to};
   $params->{disable_notification} = 1 if $rest->{silent};
 
   my $disable_error_handler = delete $params->{disable_error_handler};
   
-  if ($params->{parse_mode} && $params->{parse_mode} eq "HTML")
+  if ($params->{parse_mode} eq "HTML")
   {
     $params->{text} = $html_strip->process($params->{text});
   }