# SYNOPSIS

NOTE: This API should not yet be considered stable.

Creating a bot is easy:

       package MyBot;
       
       use Mojo::Base 'Telegram::Bot::Brain';

       has token => 'YOURTOKENHERE';

       # is this a message we'd like to respond to?
       sub _hello_for_me {
         my ($self, $msg) = @_;
         # look for the word 'hello' with or without a leading slash
         if ($msg->text =~ m{/?hello}i) {
           return 1;
         }
         return 0;
       }

       # send a polite reply, to either a group or a single user,
       # depending on where we were addressed from
       sub _be_polite {
         my ($self, $msg) = @_;

         # is this a 1-on-1 ?
         if ($msg->chat->is_user) {
           $self->send_message_to_chat_id($msg->chat->id, "hello there");

           # send them a picture as well
           my $image = Telegram::Bot::Object::PhotoSize->new(image => "smile.png");
           $self->send_to_chat_id($msg->chat->id, $image);
         }
         # group chat
         else {
           $self->send_message_to_chat_id($msg->chat->id, "hello to everyone!");
         }
       }

       # setup our bot
       sub init {
         my $self = shift;
         $self->add_listener(\&_hello_for_me,  # criteria
                             \&_be_polite      # response
                            ); 
    
       }

       1;
       

Now just:

    perl -MMyBot -E 'MyBot->new->think'
    

and you've got yourself a stew, baby! Or a bot, anyway.

Note that for the bot to see messages that do not start with a leading '/', you will need to use
the `'/setprivacy'` command on Telegram's `@botfather` interface to change the privacy settings.