Tool 4 partial Slack API handling
Project description
Library: nftl-slack-tools
This is a tool for Slack API handling.
Source documentation of api is available here
Installation
pip install nftl-slack-tools
Usage
from nftl_slack_tools.client import SlackClient
slack = SlackClient(slack_token='xoxp-...')
channel = slack.get_channels_api().create('new_order')
if channel:
print('Yupi!')
Interface
Channels
Slack API wrapper that is handling channels category
Usage
from nftl_slack_tools.client import SlackClient
slack = SlackClient(slack_token='xoxp-...')
channels_api = slack.get_channels_api()
Available methods
list()
Lists all channels in a Slack team. Channels depends on token so if you want to list users use user token instead of SlackApi admin token
Slack API : channels.list
Args:
limit: optional page length ( default: 1000 )
cursor: optional message list cursor for pagination
token: optional auth token that will overwrite SlackApi token
Returns:
None if data is invalid or channels :py:class:`typing.Dict`
with two keys: channels (list of channels) and cursor for pagination
when success
create()
Create new channel with desired name
Slack API : channels.create
Args:
channel: channel name, can only contain lowercase letters, numbers,
hyphens, and underscores, and must be 21 characters or less
token: optional auth token that will overwrite SlackApi token
Returns:
None if data is invalid or channel info as :py:class:`typing.Dict`
when success
onboard()
Invite users to all the channels available in token scope except general
Slack API : Not available
Args:
users_ids: :py:class:`typing.List` of slack user ids
cursor: pagination cursor for retry etc.
invite_token: optional auth token that will overwrite SlackApi token
used for channel invitation
Returns:
boolean success status
invite()
Invite user to the channel
Slack API : channels.invite
Args:
channel: Slack channel id like CXJSD234G
user: Slack user id like UXS65F48
token: optional auth token that will overwrite SlackApi token
Returns:
None if data is invalid or channel info as :py:class:`typing.Dict`
when success
info()
Get channel info by channel id
Slack API : channels.info
Args:
channel_id: Slack channel id
token: optional auth token that will overwrite SlackApi token
Returns:
None if channel_id not found or channel info
as :py:class:`typing.Dict` when success
channel_info()
Find channel info by channel name
Slack API : Not available
Args:
channel_name: Slack channel name
token: optional auth token that will overwrite SlackApi token
Returns:
None if channel_name is not found or channel info
as :py:class:`typing.Dict` when success
history()
Fetches history of messages and events from a channel.
Slack API : channels.history
Args:
channel: Slack channel id like CXJSF234X
count: number of messages per page
latest: End of time range
token: optional auth token that will overwrite SlackApi token
Returns:
None if error occurred or number of removed messages
clear_history()
Channel history cleaner Reads history and removes messages one by one
Slack API : Not available
Args:
channel_name: Slack channel name
chat: Chat api handler
Returns:
Number of removed messages
Groups
Slack API wrapper that is handling groups category
Usage
from nftl_slack_tools.client import SlackClient
slack = SlackClient(slack_token='xoxp-...')
channels_api = slack.get_groups_api()
Available methods
list()
Lists all groups aka private channel in a Slack team. Groups depends on token so if you want to list users use user token instead of SlackApi admin token
Slack API : groups.list
Args:
limit: optional page length ( default: 1000 )
cursor: optional message list cursor for pagination
token: optional auth token that will overwrite SlackApi token
Returns:
None if data is invalid or channels :py:class:`typing.Dict`
with two keys: groups (list of groups) and cursor for pagination
when success
create()
Create new group with desired name
Slack API : groups.create
Args:
group: group name, can only contain lowercase letters, numbers,
hyphens, and underscores, and must be 21 characters or less
token: optional auth token that will overwrite SlackApi token
Returns:
None if data is invalid or group info as :py:class:`typing.Dict`
when success
onboard()
Invite users to all the groups available in token scope except general
Slack API : Not available
Args:
users_ids: :py:class:`typing.List` of slack user ids
cursor: pagination cursor for retry etc.
invite_token: optional auth token that will overwrite SlackApi token
used for group invitation
Returns:
boolean success status
invite()
Invite user to the group
Slack API : groups.invite
Args:
group: Slack group id like GXJSD234G
user: Slack user id like UXS65F48
token: optional auth token that will overwrite SlackApi token
Returns:
None if data is invalid or group info as :py:class:`typing.Dict`
when success
info()
Get group info by group id
Slack API : groups.info
Args:
group_id: Slack group id
token: optional auth token that will overwrite SlackApi token
Returns:
None if group_id not found or group info
as :py:class:`typing.Dict` when success
group_info()
Find group info by group name
Slack API : Not available
Args:
group_name: Slack channel name
token: optional auth token that will overwrite SlackApi token
Returns:
None if group_name is not found or channel info
as :py:class:`typing.Dict` when success
history()
Fetches history of messages and events from a group.
Slack API : groups.history
Args:
group: Slack group id like GXJSD234G
count: number of messages per page
latest: End of time range
token: optional auth token that will overwrite SlackApi token
Returns:
None if error occurred or number of removed messages
clear_history()
Group history cleaner Reads history and removes messages one by one
Slack API : Not available
Args:
group_name: Slack group name
chat: chat api handler
Returns:
Number of removed messages
Users
Slack API wrapper that is handling users category
Usage
from nftl_slack_tools.client import SlackClient
slack = SlackClient(slack_token='xoxp-...')
users_api = slack.get_users_api()
Available methods
info()
Gets information about the user
Slack API : users.info
Args:
user: Slack user id like UXS65F48
locale: should response contain locale info
token: optional auth token that will overwrite SlackApi token
Returns:
None if data is invalid or user info as :py:class:`typing.Dict`
when success
Chat
Slack API wrapper that is handling chat category
Usage
from nftl_slack_tools.client import SlackClient
slack = SlackClient(slack_token='xoxp-...')
chat_api = slack.get_chat_api()
Available methods
delete()
Deletes a message
Slack API : chat.delete
Args:
channel: Slack channel id like CXJSD234G
ts: Message id
token: optional auth token that will overwrite SlackApi token
Returns:
boolean operation status
Deployment how to
Available here
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nftl_slack_tools-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 121dce27efa5b1110749d8199c3ae789479e449fba6786b61be803397b9de48a |
|
MD5 | 0ede397a051dc76e6fe0b36b14e5c687 |
|
BLAKE2b-256 | 95004773bf9eda8df8b35603232b86ca6ba82deaa0953776aad342bb7152a0ee |