AnyEvent-SlackBot
view release on metacpan or search on metacpan
lib/AnyEvent/SlackBot.pm view on Meta::CPAN
my $request=POST $self->rtm_start_url,[token=>$self->token];
my $ua=LWP::UserAgent->new;
$ua->ssl_opts(
SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
SSL_hostname => '',
verify_hostname => 0
);
my $response=$ua->request($request);
$self->{timer}=undef;
if($response->code==200) {
my $data=eval { from_json($response->decoded_content) };
if($@) {
return $self->new_false("Failed to decode response, error was: $@");
}
unless(exists $data->{url} and $data->{self}) {
my $msg=exists $data->{error} ? $data->{error} : 'unknown slack error';
return $self->new_false("Failed to get valid connection info, error was: $msg");
}
$self->build_connection($data);
} else {
lib/AnyEvent/SlackBot.pm view on Meta::CPAN
$request=POST $url,'Conent-Type'=>'application/json',Content=>to_json($msg);
}
$self->agent->add_cb($request,sub {
my ($agent,$request,$response)=@_;
++$self->stats->{http_posts_sent};
$self->stats->{running_posts}--;
if($response->code!=200) {
$self->log_error("Failed to send Message,error was: ".$response->status_line) ;
} else {
my $json=eval { from_json($response->decoded_content) };
if($@) {
$self->log_error("Failed to parse json response, error was: $@")
} else {
$self->{ignore}->{$json->{ts}}++;
$self->log_error("Slack Responded with an eror: $json->{error}".Dumper($json)) unless $json->{ok};
}
}
if($self->stats->{running_posts}==0) {
# some times we get a response from the websocet before
( run in 0.325 second using v1.01-cache-2.11-cpan-26ccb49234f )