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 hashes)

Uploaded Source

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