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.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa9e8a0d5529bc561b69312270967bd92e02d0e196200dd25321a128c34512d7 |
|
MD5 | 2c1c084c1effa106bea2385082585a20 |
|
BLAKE2b-256 | 14e3963f82237bb2e49cec4bb8ff50c75e769b4063dbd582a68defddfe1aabac |
Close
Hashes for slack_notifications-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21c30956f5e943c69cced8d37231a780c3b4d3a3aba10e981cc26c777a55a7e8 |
|
MD5 | 2064d4307b91a021dbabaa1243098095 |
|
BLAKE2b-256 | 5a866c1c5d88a7e0123794d0881b495fdc8725b462a85469c900bf3764b5b7d8 |