Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bl4de/irc-client
Simple IRC (Internet Relay Chat) Client written in Python
https://github.com/bl4de/irc-client
irc irc-client python
Last synced: 3 months ago
JSON representation
Simple IRC (Internet Relay Chat) Client written in Python
- Host: GitHub
- URL: https://github.com/bl4de/irc-client
- Owner: bl4de
- License: mit
- Created: 2017-04-23T01:16:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-06T07:48:45.000Z (almost 6 years ago)
- Last Synced: 2024-05-31T09:34:38.032Z (5 months ago)
- Topics: irc, irc-client, python
- Language: Python
- Homepage:
- Size: 2.65 MB
- Stars: 58
- Watchers: 4
- Forks: 25
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - bl4de/irc-client - Simple IRC (Internet Relay Chat) Client written in Python (Python)
README
# irc-client
Simple IRC (Internet Relay Chat) Client written in Python 2
## Contributors
Special thanks to Ilie Cebanu (https://github.com/NotQuiteMelvin) for Python 3 version.
## Usage
To join any channel (on Freenode) with selected username, simply run irc_client.py and put desired username as a first argument, followed by channel name (with following # or without):
```
./irc_client.py myusername channeltojoin
```or
```
./irc_client.py myusername #channeltojoin // actually not working :)
```__Seems that passing channel name with following # break script, as Python treats # as the begining of the comment?__
## Sample conversation
This is how it looks right now (left console: irc_client.py, right console: irssi):
![Sample conversation](sample-talk.png)
## Compiled to .pyc
I've added verison compiled to Python bytecode file (with .pyc extension). Compilation is done by command:
```
$ python -m compileall irc_client.py
```It might be useful to get binary version instead of cource code.
## Issues and further ideas/features
- multiline messages not working (related to no reposnse from server when no other user post message)
- output sometimes messed by server messages (like PING)
- lack of UX - only simple one line messages can be sent :)
- irc.freenode.net (server) and port 6667 hardcoded - but can be easily added as arguments
- channel name has to be passed without leading ```#```- colorful output (TBD)
## References
https://en.wikipedia.org/wiki/Internet_Relay_Chat
RFC 1459 (Internet Relay Chat Protocol)
https://tools.ietf.org/html/rfc1459IRC server response codes reference
https://www.alien.net.au/irc/irc2numerics.htmlRFC 2812 (Internet Relay Chat: Client Protocol):
https://tools.ietf.org/html/rfc2812Other resources:
http://chi.cs.uchicago.edu/chirc/irc_examples.html
http://books.msspace.net/mirrorbooks/irchacks/059600687X/irchks-CHP-13-SECT-2.html