NAME
Net::Async::Slack::Socket - socket-mode notifications for https://slack.com
DESCRIPTION
This is a basic wrapper for Slack's socket-mode features.
See https://api.slack.com/apis/connections/socket for some background on using this feature.
This provides an event stream using websockets.
For a full list of events, see https://api.slack.com/events.
METHODS
events
This is the stream of events, as a Ryu::Source.
Example usage:
$rtm->events
->filter(type => 'message')
->sprintf_methods('> %s', $_->text)
->say
->await;
handle_unfurl_domain
Registers a handler for URLs.
Takes the following named parameters:
domain
- which host/domain to respond to, e.g.google.com
for https://google.comhandler
- a callback, expected to take a URI instance and return a Future with a Slack message
Example usage:
$sock->handle_unfurl_domain(
domain => 'service.local',
handler => async sub ($uri) {
my ($id) = $uri->path =~ m{/id/([0-9]+)}
or return undef;
return +{
blocks => [ {
"type" => "section",
"text" => {
"type" => "mrkdwn",
"text" => "Request with ID `$id`",
},
} ]
};
}
);
Returns the Net::Async::Slack::Socket instance to allow chaining.
last_frame_epoch
Returns the floating-point timestamp for the last frame we received. Will be undef
if we have no frames yet.
METHODS - Internal
You may not need to call these directly. If I'm wrong and you find yourself having to do that, please complain via the usual channels.
connect
Establishes the connection. Called by the top-level Net::Async::Slack instance.
INHERITED METHODS
- IO::Async::Notifier
-
add_child, adopt_future, adopted_futures, can_event, children, configure_unknown, debug_printf, get_loop, invoke_error, invoke_event, loop, make_event_cb, maybe_invoke_event, maybe_make_event_cb, new, notifier_name, parent, remove_child, remove_from_parent
AUTHOR
Tom Molesworth <TEAM@cpan.org>
LICENSE
Copyright Tom Molesworth 2016-2022. Licensed under the same terms as Perl itself.