Send notifications to slack channel with supporting attachments and fields
Project description
Slack notifications
Installation
pip install slack-notifications
Simple usage
import os
import slack_notifications as slack
slack.ACCESS_TOKEN = 'xxx'
slack.send_notify('channel-name', username='Bot', text='@channel This is test message')
or
import os
from slack_notifications import Slack
slack = Slack('<token>')
slack.send_notify('channel-name', username='Bot', text='@channel This is test message')
Message
import os
from slack_notifications import Slack, Attachment
slack = Slack('<token>')
message = slack.send_notify('channel-name', username='Bot', text='@channel This is test message')
message.text = 'This is test message'
message.update()
message.add_reaction('<name>')
message.remove_reaction('<name>')
message.upload_file('./test.yml', filetype='yaml')
message.attachments.append(
Attachment(
title='Attachment title',
pretext='Attachment pretext',
text='Attachment text',
footer='Attachment footer',
color='green',
),
)
message.update()
Use attachments
import os
import slack_notifications as slack
slack.ACCESS_TOKEN = 'xxx'
attachment = slack.Attachment(
title='Attachment title',
pretext='Attachment pretext',
text='Attachment text',
footer='Attachment footer',
color='green',
)
slack.send_notify('channel-name', username='Bot', text='@channel This is test message', attachments=[attachment])
See program API
Attachment fields
import slack_notifications as slack
slack.ACCESS_TOKEN = 'xxx'
attachment = slack.Attachment(
title='Attachment title',
pretext='Attachment pretext',
text='Attachment text',
footer='Attachment footer',
fields=[
slack.Attachment.Field(
title='Field title',
value='Field value',
),
],
color='green',
)
slack.send_notify('channel-name', username='Bot', text='@channel This is test message', attachments=[attachment])
Simple Text Block
import slack_notifications as slack
slack.ACCESS_TOKEN = 'xxx'
block = slack.SimpleTextBlock(
'Text example',
fields=[
slack.SimpleTextBlock.Field(
'Text field',
),
slack.SimpleTextBlock.Field(
'Text field',
emoji=True,
),
],
)
slack.send_notify('channel-name', username='Bot', text='@channel This is test message', blocks=[block])
See program API
Init color
import slack_notifications as slack
slack.init_color('green', '#008000')
Call slack resource
import slack_notifications as slack
slack.ACCESS_TOKEN = 'xxx'
response = slack.call_resource(slack.Resource('users.info', 'GET'), params={'user': 'W1234567890'})
Resource iterator
import slack_notifications as slack
slack.ACCESS_TOKEN = 'xxx'
for user in slack.resource_iterator(slack.Resource('users.list', 'GET'), 'members'):
pass
Raise exception if error was given
import slack_notifications as slack
slack.ACCESS_TOKEN = 'xxx'
slack.send_notify('channel-name', username='Bot', text='@channel This is test message', raise_exc=True)
Program API
send_notify
- channel
- text: str = None
- username: str = None
- icon_url: str = None
- icon_emoji: str = None
- link_names: bool = True
- raise_exc: bool = False
- attachments: List[Attachment] = None
- blocks: List[BaseBlock] = None
upload_file
- channel
- file
- title: str = None,
- content: str = None,
- filename: str = None,
- thread_ts: str = None,
- filetype: str = 'text',
- raise_exc: bool = False
call_resource
- resource: Resource
- raise_exc: bool = False
- **kwargs (requests lib options)
resource_iterator
- resource: Resource
- from_key: str
- cursor: str = None
- raise_exc: bool = False
- limit: int = DEFAULT_RECORDS_LIMIT
init_color
- name: str
- code: str
Attachment
- image_url: str = None,
- thumb_url: str = None,
- author_name: str = None,
- author_link: str = None,
- author_icon: str = None,
- title: str = None,
- title_link: str = None,
- text: str = None,
- pretext: str = None,
- footer: str = None,
- footer_icon: str = None,
- timestamp: str = None,
- fields: List[Attachment.Field] = None,
- color: str = None
Attachment.Field
- title: str = None
- value: str = None
- short: bool = False
SimpleTextBlock
- text: str
- mrkdwn: bool = True
- block_id: str = None
- fields: List[SimpleTextBlock.Field] = None
SimpleTextBlock.Field
- text: str
- emoji: bool = False
- mrkdwn: bool = True
DividerBlock
- block_id: str = None
ImageBlock
- image_url: str
- title: str = None
- alt_text: str = None
- mrkdwn: bool = True
- block_id: str = None
ContextBlock
- elements: List[Union[ContextBlock.TextElement, ContextBlock.ImageElement]]
- block_id: str = None
ContextBlock.TextElement
- text: str
- mrkdwn: bool = True
ContextBlock.ImageElement
- image_url: str
- alt_text: str = None
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
Close
Hashes for slack-notifications-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4413c093e1a56a098a3246cd0b6f31da818d2e847cc9e0aca2da57d2710a2b26 |
|
MD5 | 0e1e9b567384a927ccf62400fc30ceb2 |
|
BLAKE2b-256 | 609f30b5104f7c225fc2857b3328ab29c2ed9a8da22ed95676f41ac17b90c7fc |
Close
Hashes for slack_notifications-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ad6b71f6f00399d0be79172e2a90d9b2047a46b59be73e82d21f3397352184e |
|
MD5 | 55432753ee5dece9e7c81e488094682e |
|
BLAKE2b-256 | bc95452dd89a191d0b500597eb9b34376788ba05688517a5dba561ca5921bab8 |