This is a perl module helping to create slack bot with Real Time Messaging(RTM) API.
Perl
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/Slack/RTM
t
.gitignore
.travis.yml
Build.PL
Changes
LICENSE
META.json
README.md
cpanfile
minil.toml

README.md

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.

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