Skip to content

This is a perl module helping to create slack bot with Real Time Messaging(RTM) API.

License

Notifications You must be signed in to change notification settings

duck8823/Slack-RTM-Bot

Folders and files

NameName
Last commit message
Last commit date
Jul 7, 2020
Nov 13, 2022
Jan 15, 2019
Sep 12, 2019
Nov 5, 2018
Jun 21, 2016
Nov 13, 2022
Sep 12, 2019
Jun 21, 2016
Nov 13, 2022
Sep 12, 2019
Jul 5, 2020
Oct 5, 2016
Apr 17, 2019

Repository files navigation

NAME

Slack::RTM::Bot - This is a perl module helping to create slack bot with Real Time Messaging(RTM) API.

SYNOPSIS

use Slack::RTM::Bot;
my $bot = Slack::RTM::Bot->new( token => '<API token>');

$bot->on({
        channel => 'general',
        text    => qr/.*/
    },
    sub {
        my ($response) = @_;
        print $response->{text}."\n";
    }
);

$bot->start_RTM(sub {

    $bot->say(
        channel => 'general',
        text    => '<!here> hello, world.'
    );

    $bot->say(
        channel => '@username',
        text    => 'hello, world.'
    );

    while(1) { sleep 10; print "I'm not dead\n"; }
});

METHODS

new

method new(token => $token)

Constructs a Slack::RTM::Bot object.

The $token is the slack API token.

on

method on(\%event, $callback)

$callback will be executed when it fitted the \%event conditions. The \%event key is equal to a key of json received from slack, and value is estimated as regex.

$callback is handed JSON object of message received from Slack.

start_RTM

method start_RTM($callback)

It start Real Time Messaging API. $callback will be executed when establish connection. start_RTM make child process. Thus, you must call stop_RTM if you want to kill child processes before stop main process.

stop_RTM

method stop_RTM()

It stop Real Time Messaging API.

say

method say(%options)

It sent a message to a Slack. The channel name can be used to designate channel. if you want to send a direct message, let designate the @username as a channel.

SOURCE CODE

This is opensource software.

https://github.com/duck8823/Slack-RTM-Bot

HOW TO CONTRIBUTE

with installing

The fastest way to get started working with the code is to run the following commands:

$ git clone https://github.com/duck8823/Slack-RTM-Bot.git
$ cd Slack-RTM-Bot
$ cpanm --installdeps .
$ perl Build.PL
$ ./Build
$ ./Build install
$ ./Build test  # run the tests

without installing

or without installing Slack-RTM-Bot, run the following commands:

$ git clone https://github.com/duck8823/Slack-RTM-Bot.git
$ cd Slack-RTM-Bot
$ cpanm --installdeps .  # install dependencies

and run your script with `-I/path/to/Slack-RTM-Bot/lib` option.

$ perl -I/path/to/Slack-RTM-Bot/lib your_script.pl

SEE ALSO

https://api.slack.com/rtm

LICENSE

The MIT License (MIT)

Copyright (c) 2016 Shunsuke Maeda

See LICENSE file.

AUTHOR

Shunsuke Maeda duck8823@gmail.com