The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Mojar::Message::Telegram - Send messages via Telegram.

SYNOPSIS

  use Mojar::Message::Telegram;
  my $msg = Mojar::Message::Telegram->new(message => ..., recipient => ...);

  # Synchronous
  $msg->send(
    message   => q{Don't you love the bot API? \N{U+2714} },
    recipient => '111222333',
  );

  # Asynchronous
  my @error;
  $sms->send(
    message   => q{Fire and forget; with a reminder},
    recipient => '111222333',
    sub { $error[0] = $_[1] }
  );

DESCRIPTION

Sends simple messages via Telegram. You need to know the chat_id of each recipient, and they must have initiated some interaction with your bot beforehand.

ATTRIBUTES

  • address

      $msg->address;  # defaults to api.telegram.org
      $msg->address('somewhere.web.telegram.org');
  • token

      $msg->token('123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11');
  • ua

      $msg->ua($this_agent);
      my $ua = $msg->ua;

    The user agent persists in an attribute of the object and you can supply your own at creation time.

METHODS

new
  $msg = Mojar::Message::Telegram->new(token => ...);

Constructor for the Telegram agent.

send
  $msg->send(message => q{...}, recipient => $recipient);

Supports method chaining, and will bail-out at the first failure if no callback is given. Supports asynchronous calls when provided a callback as the final argument.

  $msg->send(message => q{...}, recipient => ..., sub {
    my ($agent, $error) = @_;
    ...
  });

  $sms->send(message => $m, recipient => $r, sub { ++$error_count if $_[1] });

You can also send messages without triggering a notification by including the quiet = 1> parameter.

REFERENCE

https://core.telegram.org/bots/api shows the Bot API.

CONFIGURATION AND ENVIRONMENT

You need to create an account following https://core.telegram.org/bots.

SUPPORT

See Mojar.

SEE ALSO

WWW::Telegram::BotAPI.