Metadata-Version: 2.4
Name: async-irc
Version: 0.3.0
Summary: A simple asyncio.Protocol implementation designed for IRC
Project-URL: Homepage, https://github.com/TotallyNotRobots/async-irc
Author-email: linuxdaemon <linuxdaemon.irc@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: async-irc,asyncio,asyncirc,irc,irc-framework
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Requires-Dist: py-irclib>=0.8.0
Requires-Dist: typing-extensions
Description-Content-Type: text/markdown

# async-irc
An implementation of asyncio.Protocol for IRC

[![CI - Test](https://github.com/TotallyNotRobots/async-irc/actions/workflows/python-tests.yml/badge.svg)](https://github.com/TotallyNotRobots/async-irc/actions/workflows/python-tests.yml)
[![CD - Build](https://github.com/TotallyNotRobots/async-irc/actions/workflows/python-publish.yml/badge.svg)](https://github.com/TotallyNotRobots/async-irc/actions/workflows/python-publish.yml)
[![codecov](https://codecov.io/gh/TotallyNotRobots/async-irc/graph/badge.svg?token=Gz8jBOG9js)](https://codecov.io/gh/TotallyNotRobots/async-irc)

[![PyPI - Version](https://img.shields.io/pypi/v/async-irc.svg)](https://pypi.org/project/async-irc/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/async-irc.svg)](https://pypi.org/project/async-irc/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/async-irc.svg)](https://pypi.org/project/async-irc/)

[![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![types - Mypy](https://img.shields.io/badge/types-Mypy-blue.svg)](https://github.com/python/mypy)

[![License - MIT](https://img.shields.io/badge/license-MIT-9400d3.svg)](https://spdx.org/licenses/)

## Using the library
- You can install the library using pip: `pip install async-irc`

### Example
```python
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()
```
