:SlackRTM;
use Mojo::Base 'Mojo::EventEmitter';
use IO::Socket::SSL;
use Mojo::IOLoop;
use Mojo::JSON ();
use Mojo::Log;
use Mojo::UserAgent;
use Scalar::Util ();
use constant DEBUG => $ENV{MOJO_SLA
b {
my $tx = shift;
return if $tx->success and $tx->res->json("/ok");
if ($tx->success) {
my $error = $tx->res->json("/error") || "Unknown error";
return $error;
} else
get $SLACK_URL/rtm.start?token=XXX: $error");
return;
}
my $metadata = $tx->res->json;
$self->metadata($metadata);
my $url = $metadata->{url};
$self->ua->websocket($url =>