irc icon indicating copy to clipboard operation
irc copied to clipboard

Full-featured Python IRC library for Python.

Results 38 irc issues
Sort by recently updated
recently updated
newest added

``` DEBUG:irc.client:command: privnotice, source: TS-APP|US|P|[email protected], target: , arguments: ['** Sending you pack #169 ("Tangible.Software.Solutions.Java.to.Python.Converter.Premium.Edition.v21.8.31-DVT.tar"), which is 4.0MB. (resume supported)'], tags: None DEBUG:irc.client:_dispatcher: privnotice DEBUG:irc.client:FROM SERVER: :TS-APP|US|P|[email protected] PRIVMSG :☺DCC SEND Tangible.Software.Solutions.Java.to.Python.Converter.Premium.Edition.v21.8.31-DVT.tar...

``` irc main $ tox -- -We -k aio python develop-inst-noop: /Users/jaraco/code/main/irc python installed: attrs==21.4.0,black==21.12b0,click==8.0.3,coverage==6.2,docutils==0.18.1,filelock==3.4.2,flake8==4.0.1,importlib-metadata==4.10.0,iniconfig==1.1.1,-e git+gh://jaraco/irc@4634d134c9994b87001813c91292fdeb591bb5ab#egg=irc,jaraco.classes==3.2.1,jaraco.collections==3.4.0,jaraco.context==4.1.1,jaraco.functools==3.5.0,jaraco.logging==3.1.0,jaraco.stream==3.0.3,jaraco.text==3.6.0,mccabe==0.6.1,more-itertools==8.12.0,mypy==0.930,mypy-extensions==0.4.3,packaging==21.3,pathspec==0.9.0,pep517==0.12.0,platformdirs==2.4.1,pluggy==1.0.0,py==1.11.0,pycodestyle==2.8.0,pyflakes==2.4.0,Pygments==2.11.1,pyparsing==3.0.6,pytest==6.2.5,pytest-black==0.3.12,pytest-checkdocs==2.7.1,pytest-cov==3.0.0,pytest-enabler==1.2.1,pytest-flake8==1.0.7,pytest-mypy==0.8.1,pytz==2021.3,tempora==4.1.2,toml==0.10.2,tomli==1.2.3,typing_extensions==4.0.1,zipp==3.7.0 python run-test-pre: PYTHONHASHSEED='3118046128' python run-test: commands[0] | pytest -We -k aio ====================================================================== test session...

help wanted

Hi, I tried various ways of getting `cert_reqs=ssl.CERT_NONE` to connect to a server with self-signed/expired certificate with no luck. Help ? Thanks.

The `select()` call returns immediately almost always, since the sockets are usually `ready_to_read`. This effectively creates a tight loop and very high CPU usage for any active connection.

help wanted

Many popular IRC networks now require SASL auth in order to accept connections. This library should implement that.

Regardless of the use case it is usually desired that a client/bot does not excess flood itself out of a network. This is a tricky problem to solve as networks...

Some networks (IRCnet in particular) may reserve nicknames temporarily when you disconnect. The network will send `437 ERR_UNAVAILRESOURCE` during connection registration which means our real real nickname is not yet...

IRC servers PING clients if the TCP connection is idle to ensure dead streams are dropped. On the other hand clients need to do the same to detect the same...

To implement CAP negotiations (for SASL) before registering a connection I had to split connection registration out of `AioConnection::connect()`: https://github.com/hifi/heisenbridge/blob/master/heisenbridge/irc.py#L120 My implementation is currently ugly but the requirement remains that...

SASL PLAIN is a simple authentication flow that needs to be done before registering a connection. This works on networks like Libera.Chat. Downstream implementation here using an `expect()` flow: https://github.com/hifi/heisenbridge/blob/master/heisenbridge/irc.py#L122...