Skip to main content

Python IRCP Library

Project description

Internet Relay Chat (IRC) Protocol client library
=================================================

`|Build Status| <https://travis-ci.org/itslukej/zirc>`_ `|Snippets
Count| <https://codebottle.io/?q=%22zirc%22>`_

Quick Start
-----------

::

import zirc, ssl

class Bot(zirc.Client):
def __init__(self):
self.connection = zirc.Socket(wrapper=ssl.wrap_socket)
self.config = zirc.IRCConfig(host="irc.freenode.net",
port=6697,
nickname="zirctest",
ident="bot",
realname="test bot",
channels=["##chat"],
caps=zirc.Caps(zirc.Sasl(username="username", password="password")))

self.connect(self.config)
self.start()

def on_privmsg(bot, event, irc):
irc.reply(event, "It works!")
#Or alternatively:
#irc.privmsg(event.target, "It works!")

Bot()

This library implements the IRC protocol, it's an event-driven IRC
Protocol framework.

Installation
------------

PyPi
~~~~

::

sudo pip install zirc
sudo pip3 install zirc

Github
~~~~~~

::

sudo pip install git+https://github.com/itslukej/zirc.git
sudo pip3 install git+https://github.com/itslukej/zirc.git

Github will contain the latest bug fixes and improvements but
sometimes also "bad quality" code.

Features
--------

- Automatic PING/PONG between the server
- IRC Message parsing
- A simple set up and connection method
- Easy installation
- Easy CTCP Set-up

IPv6
~~~~

To use IPv6 with ``zirc.Socket``, you can use the family
``socket.AF_INET6``:

::

import socket

self.connection = zirc.Socket(family=socket.AF_INET6)

Proxy
~~~~~

Initialize ``zirc.Socket`` with argument ``socket_class``:

::


self.connection = zirc.Socket(socket_class=zirc.Proxy(host="localhost", port=1080, protocol=zirc.SOCKS5))

Examples
--------

You can `find examples for zIRC by me and other users on
CodeBottle <https://codebottle.io/?q=%22zirc%22>`_

Ideas
-----

- Multiple connection support

TODO
----

- More documentation

Contributing
------------

Talk to us on #zirc at Freenode

Please discuss code changes that significantly affect client use of the
library before merging to the master branch. Change the version in
``setup.py`` ahead if the change should be uploaded to PyPi.

.. |Build
Status| image:: https://travis-ci.org/itslukej/zirc.svg?branch=master
.. |Snippets
Count| image:: https://codebottle.io/api/v1/embed/searchbadge.php?keywords=%22zirc%22&language=Python

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

zirc-1.2.6.tar.gz (12.1 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