Skip to main content

Interface server connecting Django's channels and IRC

Project description

A bridge between IRC and Django’s channels.

Installation

run python setup.py install to install the library and set up the command line interface

Usage

The interface server can be started by simply running the command,

` channels-irc `

The server requires that the server, nickname, and application properties be set. The application should be an import string pointing to the location of your app’s ASGI application. Hence, if your app was named myapp, contained an ASGI filed called asgi.py, and your ASGI application is named my_application, you could start the server by running:

` channels-irc -s 'irc.freenode.net' -n 'my_irc_nickname' -a 'myapp.asgi:my_application' `

You can also set these values using the env variables CHANNELS_IRC_SERVER, CHANNELS_IRC_NICKNAME, and CHANNELS_IRC_LAYER.

IRC Consumers

channels_irc is comes with the IrcConsumer and the AsyncIrcConsumer for bootstrapping IRC connection handling.

from channels_irc import IrcConsumer

class MyConsumer(IrcConsumer):
    def connect(self, server, port, nickname):
        """
        Optional hook for actions on connection to IRC Server
        """
        print('Connected to server {}:{} with nickname'.format(server, port, nickname)

    def disconnect(self, server, port):
        """
        Optionl hook fr actions on disconnect from IRC Server
        """
        print('Disconnect from server {}:{}'.format(server, port)

    def my_custom_action(self):
        """
        Use built-in functions to send basic IRC commands
        """
        self.message('my-channel', 'here is what I wanted to say')

Make sure to use irc as the protocol in the ProtocolTypeRouter

from channels.routing import ProtocolTypeRouter

from my_irc_app.consumers import MyConsumer


application = ProtocolTypeRouter({
    'irc': MyConsumer,
})

Project details


Release history Release notifications

This version
History Node

0.4.1

History Node

0.3

History Node

0.2

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
channels_irc-0.4.1-py3-none-any.whl (9.9 kB) Copy SHA256 hash SHA256 Wheel py3 May 26, 2018
channels_irc-0.4.1.tar.gz (8.7 kB) Copy SHA256 hash SHA256 Source None May 26, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page