Skip to content

An implementation of the asyncio Protocol interface for IRC connections

License

Notifications You must be signed in to change notification settings

TotallyNotRobots/async-irc

Repository files navigation

async-irc

An implementation of asyncio.Protocol for IRC

CI - Test CD - Build codecov

PyPI - Version PyPI - Downloads PyPI - Python Version

linting - Ruff types - Mypy

License - MIT

Using the library

  • You can install the library using pip: pip install async-irc

Example

import asyncio

from asyncirc.protocol import IrcProtocol
from asyncirc.server import Server

loop = asyncio.get_event_loop()

servers = [
    Server("irc.example.org", 6697, True),
    Server("irc.example.com", 6667),
]

async def log(conn, message):
    print(message)

async def main():
    conn = IrcProtocol(servers, "BotNick", loop=loop)
    conn.register_cap('userhost-in-names')
    conn.register('*', log)
    await conn.connect()
    await asyncio.sleep(24 * 60 * 60)

try:
    loop.run_until_complete(main())
finally:
    loop.stop()