Net-Async-Slack

 view release on metacpan or  search on metacpan

lib/Net/Async/Slack.pod  view on Meta::CPAN

=head1 INHERITED METHODS

=over 4

=item L<IO::Async::Notifier>

L<add_child|IO::Async::Notifier/add_child>, L<adopt_future|IO::Async::Notifier/adopt_future>, L<adopted_futures|IO::Async::Notifier/adopted_futures>, L<can_event|IO::Async::Notifier/can_event>, L<children|IO::Async::Notifier/children>, L<configure_un...

=item L<Net::Async::Slack::Commands>

L<admin_apps_approve|Net::Async::Slack::Commands/admin_apps_approve>, L<admin_apps_approved_list|Net::Async::Slack::Commands/admin_apps_approved_list>, L<admin_apps_requests_list|Net::Async::Slack::Commands/admin_apps_requests_list>, L<admin_apps_res...

=back

=head1 AUTHOR

Tom Molesworth <TEAM@cpan.org>

=head1 LICENSE

Copyright Tom Molesworth 2016-2024. Licensed under the same terms as Perl itself.

lib/Net/Async/Slack/Commands.pm  view on Meta::CPAN

        %args{grep { exists $args{$_} } qw(channel_ids team_ids limit cursor)}
    );
    my ($res) = await $self->http_get(
        $uri,
    );
    die $res unless $res->{ok};
    return $res;
}


=head2 admin_conversations_get_conversation_prefs

Get conversation preferences for a public or private channel.

L<API method documentation|https://api.slack.com/methods/admin.conversations.getConversationPrefs>

Takes the following named parameters:

=over 4

=item * C<channel_id> - The channel to get preferences for. (string, required)

=back

Resolves to a structure representing the response.

=cut

async sub admin_conversations_get_conversation_prefs {
    my ($self, %args) = @_;
    my $uri = $self->endpoint(
        'admin_conversations_get_conversation_prefs',
    );
    my $content = encode_json_utf8({
        %args{grep { exists $args{$_} } qw(channel_id)}
    });
    my ($res) = await $self->http_post(
        $uri,
        $content,
        content_type => 'application/json; charset=utf-8',
    );
    die $res unless $res->{ok};

lib/Net/Async/Slack/Commands.pm  view on Meta::CPAN

    });
    my ($res) = await $self->http_post(
        $uri,
        $content,
        content_type => 'application/json; charset=utf-8',
    );
    return $res;
}


=head2 admin_conversations_set_conversation_prefs

Set the posting permissions for a public or private channel.

L<API method documentation|https://api.slack.com/methods/admin.conversations.setConversationPrefs>

Takes the following named parameters:

=over 4

=item * C<channel_id> - The channel to set the prefs for (string, required)

=item * C<prefs> - The prefs for this channel in a stringified JSON format. (string, required)

=back

Resolves to a structure representing the response.

=cut

async sub admin_conversations_set_conversation_prefs {
    my ($self, %args) = @_;
    my $uri = $self->endpoint(
        'admin_conversations_set_conversation_prefs',
    );
    my $content = encode_json_utf8({
        %args{grep { exists $args{$_} } qw(channel_id prefs)}
    });
    my ($res) = await $self->http_post(
        $uri,
        $content,
        content_type => 'application/json; charset=utf-8',
    );
    die $res unless $res->{ok};
    return $res;
}

share/endpoints.json  view on Meta::CPAN

   "admin_apps_approved_list" : "https://slack.com/api/admin.apps.approved.list{?limit,cursor,team_id,enterprise_id}",
   "admin_apps_requests_list" : "https://slack.com/api/admin.apps.requests.list{?limit,cursor,team_id}",
   "admin_apps_restrict" : "https://slack.com/api/admin.apps.restrict",
   "admin_apps_restricted_list" : "https://slack.com/api/admin.apps.restricted.list{?limit,cursor,team_id,enterprise_id}",
   "admin_conversations_archive" : "https://slack.com/api/admin.conversations.archive",
   "admin_conversations_convert_to_private" : "https://slack.com/api/admin.conversations.convertToPrivate",
   "admin_conversations_create" : "https://slack.com/api/admin.conversations.create",
   "admin_conversations_delete" : "https://slack.com/api/admin.conversations.delete",
   "admin_conversations_disconnect_shared" : "https://slack.com/api/admin.conversations.disconnectShared",
   "admin_conversations_ekm_list_original_connected_channel_info" : "https://slack.com/api/admin.conversations.ekm.listOriginalConnectedChannelInfo{?channel_ids,team_ids,limit,cursor}",
   "admin_conversations_get_conversation_prefs" : "https://slack.com/api/admin.conversations.getConversationPrefs",
   "admin_conversations_get_teams" : "https://slack.com/api/admin.conversations.getTeams",
   "admin_conversations_invite" : "https://slack.com/api/admin.conversations.invite",
   "admin_conversations_rename" : "https://slack.com/api/admin.conversations.rename",
   "admin_conversations_restrict_access_add_group" : "https://slack.com/api/admin.conversations.restrictAccess.addGroup",
   "admin_conversations_restrict_access_list_groups" : "https://slack.com/api/admin.conversations.restrictAccess.listGroups{?channel_id,team_id}",
   "admin_conversations_restrict_access_remove_group" : "https://slack.com/api/admin.conversations.restrictAccess.removeGroup",
   "admin_conversations_search" : "https://slack.com/api/admin.conversations.search",
   "admin_conversations_set_conversation_prefs" : "https://slack.com/api/admin.conversations.setConversationPrefs",
   "admin_conversations_set_teams" : "https://slack.com/api/admin.conversations.setTeams",
   "admin_conversations_unarchive" : "https://slack.com/api/admin.conversations.unarchive",
   "admin_emoji_add" : "https://slack.com/api/admin.emoji.add",
   "admin_emoji_add_alias" : "https://slack.com/api/admin.emoji.addAlias",
   "admin_emoji_list" : "https://slack.com/api/admin.emoji.list{?cursor,limit}",
   "admin_emoji_remove" : "https://slack.com/api/admin.emoji.remove",
   "admin_emoji_rename" : "https://slack.com/api/admin.emoji.rename",
   "admin_invite_requests_approve" : "https://slack.com/api/admin.inviteRequests.approve",
   "admin_invite_requests_approved_list" : "https://slack.com/api/admin.inviteRequests.approved.list",
   "admin_invite_requests_denied_list" : "https://slack.com/api/admin.inviteRequests.denied.list",



( run in 1.385 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )