Erk
Ərk is an open source, cross-platform IRC client written in Python 3, Qt 5, and Twisted. No longer being updated; please use MERK at https://github.com/nutjob-laboratories/merk
Install / Use
/learn @nutjob-laboratories/ErkREADME
<b>Development on Ərk has concluded, and will no longer be worked on. Please check out <a href="https://github.com/nutjob-laboratories/merk">MERK</a>, the spiritual succesor to Ərk.</b><br><br><br><br>
<p align="center"> <img src="https://github.com/nutjob-laboratories/erk/raw/master/images/logo_200x200.png"><br> <b>Ərk IRC Client</b><br> <a href="https://github.com/nutjob-laboratories/erk/releases/tag/0.875.077"><b>Download last stable release</b></a><br> <a href="https://github.com/nutjob-laboratories/erk/raw/master/downloads/erk-latest.zip"><b>Download Ərk 0.880.032</b></a><br> <a href="https://github.com/nutjob-laboratories/erk/blob/master/documentation/Erk_Scripting_and_Commands.pdf"><b>View Ərk command and scripting documentation</b></a><br> <a href="https://github.com/nutjob-laboratories/erk/blob/master/documentation/Erk_Plugin_Guide.pdf"><b>View Ərk plugin documentation</b></a> </p>Ərk is a graphical open source Internet relay chat client. The current development version is 0.880.032.
Ərk is fully functional and ready for your use on Windows or Linux. Bugs are being fixed all the time, and features are still being tweaked, but it's ready.
Screenshots
<center><p align="center"> <table style="width: 100%" border="0"> <tbody> <tr> <td> <table style="width: 100%" border="0"> <tbody> <tr> <td style="text-align: center; vertical-align: middle;"><a href="https://github.com/nutjob-laboratories/erk/raw/master/images/screenshot_full.png"><img src="https://github.com/nutjob-laboratories/erk/raw/master/images/screenshot.png"></a><br> <b>Ərk connected to EFnet on Windows 10</b></td> <td style="text-align: center; vertical-align: middle;"><a href="https://github.com/nutjob-laboratories/erk/raw/master/images/screenshot_linux_full.png"><img src="https://github.com/nutjob-laboratories/erk/raw/master/images/screenshot_linux.png"></a><br> <b>Ərk connected to EFnet on Linux Mint</b></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </p></center>Features
- Ərk does chat, and only chat.
- No DCC file transfer support
- No Bittorrent client
- Just plain ol' fashioned IRC
- Runs on Windows and Linux
- Supports multiple connections (you can chat on more than one IRC server at a time)
- Open source (GPL 3)
- A built-in list of over 80 IRC servers to connect to
- An extensive set of configuration options
- Over 100 display and configuration options settable in the GUI
- Over 30 different command line options
- Text colors are customize-able
- Built-in spell checker (supports English, Spanish, French, and German)
- Emoji support
- Insert emojis into chat by using shortcodes (such as
:joy::joy:,:yum::yum:, etc.)
- Insert emojis into chat by using shortcodes (such as
- Command/nickname auto-completion
- Type the first few letters of a command or nickname and hit the tab key
- Auto-complete works for emoji shortcodes, custom macros, and plugin-based commands, too!
- Optional profanity filter
- Full IRC color support
- Automatic logging of channel and private chats
- Powerful scripting engine
- A script editor is built into the client
- Create, open, and edit scripts
- Syntax highlighting
- Scripting and command documentation is included
- A script editor is built into the client
- Powerful plugin engine
- Plugins are written in Python 3, just like Ərk
- Most IRC events can be caught
- Obscure blog and forums posts aren't needed, plugin documentation (with everything you need to know to write Ərk plugins) is included
- Check out the official plugin repository! If you've got a plugin that you've written and want to include in the repository, send a pull request!
- An extensive set of command line flags, allowing for even more configuration options
- Disable most features on startup
- Connect to an IRC server from the command-line
- Support for connecting via IRC URLs
Requirements
Ərk requires Python 3, PyQt5, and Twisted. PyQt5 and Twisted can be installed by using pip:
pip install pyqt5
pip install Twisted
To connect to IRC servers via SSL, two additional libraries are needed:
pip install pyOpenSSL
pip install service_identity
Ərk is being developed with Python 3.7 on Windows 10, and Python 3.8.5 on Linux Mint.
If you're running Windows, and you're getting errors when trying to run Ərk, you may have to install another library, pywin32. You can also install this with pip:
pip install pywin32
To run properly on Linux, the latest version of all required software is recommended. There are four libraries that come bundled with Ərk:
Install
First, make sure that all the requirements are installed. Next, download Ərk. Extract the zipfile to a directory of your choice using your favorite archive/zip program. Open a command prompt, navigate to the directory you extracted Ərk to, and type:
python erk.py
Hit enter, and Ərk will start up! Enter the hostname or IP address of the server you'd like to connect to, or select a server from the built-in list. Ərk does not need to be "installed" to any specific directory to run; it will run from any directory it is extracted to.
To make things easier, Windows users can create a shortcut to Ərk so all you have to do is double click to start chatting. There are many tutorials on how to do this online; a good place to start is right here.
Usage
usage: python erk.py [-h] [--ssl] [--reconnect] [-p PASSWORD] [-c CHANNEL[:KEY]] [-l]
[-u URL] [-a] [-s FILE] [-f] [-o] [-W WIDTH] [-H HEIGHT] [-C FILE]
[-U FILE] [-Y FILE] [-L DIRECTORY] [-S DIRECTORY] [-T DIRECTORY]
[-M FILE] [-P DIRECTORY] [-e [FILE]] [--settings [FILE]]
[--generate [FILE]] [--edit-style] [--export] [--noask] [--nosettings]
[--nomenus] [--noconnect] [--noscripts] [--nodisplay] [--nostyles]
[--noedit] [--noplugins] [--nocommands] [--noextensions] [--nologs]
[--noload] [--nowrite] [--nosystray] [--notraymenu] [--qt5menu]
[SERVER] [PORT]
optional arguments:
-h, --help show this help message and exit
Connection:
SERVER Server to connect to
PORT Server port to connect to (6667)
--ssl Use SSL to connect to IRC
--reconnect Reconnect to servers on disconnection
-p PASSWORD, --password PASSWORD
Use server password to connect
-c CHANNEL[:KEY], --channel CHANNEL[:KEY]
Join channel on connection
-l, --last Automatically connect to the last server connected to
-u URL, --url URL Use an IRC URL to connect
-a, --autoscript Execute connection script (if one exists)
-s FILE, --script FILE
Execute a custom script on connection
Display:
-f, --fullscreen Open in fullscreen mode
-o, --ontop Application window is always on top
-W WIDTH, --width WIDTH
Set initial window width
-H HEIGHT, --height HEIGHT
Set initial window height
Configuration:
-C FILE, --config FILE
Use an alternate configuration file
-U FILE, --user FILE Use an alternate user file
-Y FILE, --style FILE
Use an alternate text style file
-L DIRECTORY, --logs DIRECTORY
Use an alternate log storage location
-S DIRECTORY, --scripts DIRECTORY
Use an alternate script storage location
-T DIRECTORY, --styles DIRECTORY
Use an alternate style storage location
-M FILE, --macros FILE
Use an alternate macro save file
-P DIRECTORY, --plugins DIRECTORY
Add a directory to load plugins from
Tools:
-e [FILE], --edit [FILE]
Launch the script editor
--settings [FILE], --preferences [FILE]
Launch the preferences editor
--generate [FILE] Create a "blank" plugin for editing
--edit-style Launch the style editor
--export Launch the log export tool
Disable functionality:
--noask Don't ask for a server to connect to on start
--nosettings Disable the "Settings" menu
--nomenus Disable all menus
--noconnect Disable connection commands
--noscripts Disable scripting
--nodisplay Disable connection display
--nostyles Disables style loading and editing
--noedit Disables the script editor
--noplugins Disables plugins
--no
