Skip to main content

Send notification to slack using channels

Project description

https://img.shields.io/pypi/v/channels-slack-notifications.svg

If you want to asyncronously send low priority messages to a Slack channel using Django Channels this is the 3rd party library for you.

Partially inspired by django-slack https://github.com/lamby/django-slack. Adding support for channels and simplying the interface.

Requirements

  1. Django 1.8+

  2. channels

  3. requests

Quick Start

Add to INSTALLED_APPS and set your slack token:

INSTALLED_APPS = (
  # ...
  'channels_slack_notifications',
  # ...
)

CHANNELS_SLACK_TOKEN = 'yourtokenhere'

You can generate a tokens here: https://api.slack.com/web#authentication

Add to your routing.py:

from channels.routing import include
from channels_slack_notifications.routing import slack_routing

channels_routing = [
    include(slack_routing),
]

Send your first notification:

from channels import Channel

message = dict(
    text = 'this is a test',
)
Channel('slack-notifications').send(message)

This uses a bunch of defaults which you can override per setting, or just in the message dict.

You can use this management command to test your settings:

python manage.py test_slack_notification

Settings

CHANNELS_SL ACK_TOKEN ~~~~~~~~~~~~~~~~~~~~~~~~

Default: None

Your Slack authentication token.

You can generate a tokens here: https://api.slack.com/web#authentication

CHANNELS_SLACK_CHANNEL

Default: #general

Use this setting to set a default channel of the room the message should appear in.

You can override on a per-message level by specifying channel in your message dict.

CHANNELS_SLACK_USERNAME

Default: bot

Use this setting to set a default name the message will appear be sent from.

You can override on a per-message level by specifying username in your message dict.

CHANNELS_SLACK_ICON_EMOJI

Default: :robot:

Use this setting to set a default icon emoji.

You can override on a per-message level by specifying icon_emoji in your message dict.

CHANNELS_SLACK_BACKEND

Default: 'channels_slack_notifications.backends.console'

A string pointing to the eventual backend class that will actually send the message to the Slack API.

Use 'channels_slack_notifications.backends.default' in product which uses the requests library.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

channels-slack-notifications-0.0.2.tar.gz (3.5 kB view details)

Uploaded Source

File details

Details for the file channels-slack-notifications-0.0.2.tar.gz.

File metadata

File hashes

Hashes for channels-slack-notifications-0.0.2.tar.gz
Algorithm Hash digest
SHA256 75b5afceef5adf6e59b5e4ab3626a8075440d6ff70c1b99a0fe340ff5c1ed063
MD5 2d83465b8e4b45febc037aa2a3759ef9
BLAKE2b-256 03618e61b774803d1787d5feccef5f8ce536d8914feefb44ffa0f0eed855ac27

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page