Net::Async::Slack::Socket - socket-mode notifications for https://slack.com
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.
This is the stream of events, as a Ryu::Source.
Example usage:
$rtm->events ->filter(type => 'message') ->sprintf_methods('> %s', $_->text) ->say ->await;
Registers a handler for URLs.
Takes the following named parameters:
domain - which host/domain to respond to, e.g. google.com for https://google.com
domain
google.com
handler - a callback, expected to take a URI instance and return a Future with a Slack message
handler
$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.
Returns the floating-point timestamp for the last frame we received. Will be undef if we have no frames yet.
undef
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.
Establishes the connection. Called by the top-level Net::Async::Slack instance.
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
Tom Molesworth <TEAM@cpan.org>
Copyright Tom Molesworth 2016-2022. Licensed under the same terms as Perl itself.
To install Net::Async::Slack, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::Async::Slack
CPAN shell
perl -MCPAN -e shell install Net::Async::Slack
For more information on module installation, please visit the detailed CPAN module installation guide.