App-RoboBot

 view release on metacpan or  search on metacpan

lib/App/RoboBot/Network/Mattermost.pm  view on Meta::CPAN

package App::RoboBot::Network::Mattermost;
$App::RoboBot::Network::Mattermost::VERSION = '4.004';
use v5.20;

use namespace::autoclean;

use Moose;
use MooseX::SetOnce;

use AnyEvent;
use AnyEvent::Mattermost;

use Data::Dumper;
use JSON;
use LWP::Simple;
use Try::Tiny;

use App::RoboBot::Channel;
use App::RoboBot::Nick;

extends 'App::RoboBot::Network';

has '+type' => (
    default => 'mattermost',
);

has 'server' => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
);

has 'team' => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
);

has 'email' => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
);

has 'password' => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
);

has 'client' => (
    is     => 'rw',
    isa    => 'AnyEvent::Mattermost',
    traits => [qw( SetOnce )],
);

sub BUILD {
    my ($self) = @_;

    $self->client(AnyEvent::Mattermost->new(
        $self->server, $self->team, $self->email, $self->password
    ));

    $self->client->on( 'posted' => sub {
        my ($cl, $msg) = @_;



( run in 1.835 second using v1.01-cache-2.11-cpan-39bf76dae61 )