NAME
Net::Async::Slack - support for the https://slack.com APIs with IO::Async
SYNOPSIS
use IO::Async::Loop;
use Net::Async::Slack;
my $loop = IO::Async::Loop->new;
$loop->add(
my $gh = Net::Async::Slack->new(
token => '...',
)
);
DESCRIPTION
This is a basic wrapper for Slack's API. It's an early version, the module API is likely to change somewhat over time.
See the examples/
directory for usage.
METHODS
rtm
Establishes a connection to the Slack RTM websocket API, and resolves to a Net::Async::Slack::RTM instance.
send_message
Send a message to a user or channel.
Supports the following named parameters:
channel - who to send the message to, can be a channel ID or
#channel
name, or user IDtext - the message, see https://api.slack.com/docs/message-formatting for details
attachments - more advanced messages, see https://api.slack.com/docs/message-attachments
parse - whether to parse content and convert things like links
and the following named boolean parameters:
link_names - convert
@user
and#channel
to linksunfurl_links - show preview for URLs
unfurl_media - show preview for things that look like media links
as_user - send as user
reply_broadcast - send to all users when replying to a thread
Returns a Future, although the content of the response is subject to change.
METHODS - Internal
endpoints
Returns the hashref of API endpoints, loading them on first call from the share/endpoints.json
file.
endpoint
Processes the given endpoint as a template, using the named parameters passed to the method.
oauth_request
token
API token.
http
Returns the HTTP instance used for communicating with the API.
Currently autocreates a Net::Async::HTTP instance.
http_get
Issues an HTTP GET request.
http_post
Issues an HTTP POST request.
SEE ALSO
AnyEvent::SlackRTM - low-level API wrapper around RTM
Mojo::SlackRTM - another RTM-specific wrapper, this time based on Mojolicious
Slack::RTM::Bot - more RTM support, this time via LWP and a subprocess/thread for handling the websocket part
WebService::Slack::WebApi - Furl-based wrapper around the REST API
AnyEvent::SlackBot - another AnyEvent RTM implementation
INHERITED METHODS
- IO::Async::Notifier
-
add_child, adopt_future, 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-2017. Licensed under the same terms as Perl itself.