docs | ||
oyoyo | ||
pnc | ||
quirks | ||
smilies | ||
themes | ||
.gitignore | ||
__init__.py | ||
__main__.py | ||
CHANGELOG.md | ||
console.py | ||
convo.py | ||
dataobjs.py | ||
generic.py | ||
irc.py | ||
LICENSE | ||
logviewer.py | ||
luaquirks.py | ||
memos.py | ||
menus.py | ||
mispeller.py | ||
mood.py | ||
nickservmsgs.py | ||
ostools.py | ||
parsetools.py | ||
PCskins.png | ||
pesterchum | ||
pesterchum.ico | ||
Pesterchum.png | ||
pesterchum.py | ||
profile.py | ||
pyinstaller.py | ||
pyquirks.py | ||
pytwmn.py | ||
quirks.py | ||
randomer.py | ||
README.md | ||
run_as_subprocess.py | ||
setup.py | ||
start.sh | ||
toast.py | ||
TODO.md | ||
trayicon32.icns | ||
version.py |
Pesterchum is an instant messaging client copying the look and feel of clients from Andrew Hussie's webcomic Homestuck.
Contributions in any form are very welcome!! Including for extra themes, bug fixes, features, etc. Just hmu in the support server or make a pull request :3
There's a Russian translation of this repository available, it's somewhat outdated though.
This repository is a maintained version of ghostDunk's Pesterchum, originally forked from pesterchum-karxi + Hydrothermal's fix of the "YOUR NICK IS BEING CHANGED TO X" msgbox-spam exploit.
NEW FEATURES
- Updated codebase; Python 2 --> Python 3, Qt4 --> Qt6
- Size scales with resolution via Qt's high DPI scaling
- GUI for choosing a server
- Secure connection with TLS/SSL
- UTF-8 text, annoy chums with 😿💀😱
- Get moods privately via METADATA, IRC-stalking is harder
- Tentative support for communicating color and timeline via IRCv3 Message Tags/TAGMSG
- More options for quirks (build-in gradient function, exclude smilies/links)
- Funky win95-theme by cubicSimulation
- Wayland compatibility
- Excecutables build with PyInstaller
- Lots of fixes for miscellaneous crashes/issues. . . check out the CHANGELOG! :3
INSTALLATION
-
Download the appropriate release for your platform and architecture from releases.
-
Extract the zip file.
-
Run the executable:
-
For Windows, run
pesterchum.exe
, this may show up as just "pesterchum".- Users running outdated versions of Windows 7 used to have to install the Microsoft Visual C++ Redistributable, but the relevant DLLs should now be packaged with the releases. Might still be worth trying though if you run into any issues.
- Newer releases probably won't run on Windows XP since Python stopped supporting it, if you're the singular Windows XP user left consider running from source. :'3
-
For Linux, run
Pesterchum
.- Linux releases are not backwards compatible with glibc versions older than the one it was build against. The glibc version the release was build against will be included in the filename, like: PesterchumAlt.-2.2-linux64-glibc2.27.tar.gz. This really shouldn't be an issue unless your distro is absolutely ancient, if it is, run from source.
-
For macOS, run
Pesterchum.app
, this may show up as just "Pesterchum". Alternatively, run the binary directly fromPesterchum\Pesterchum.app\Contents\MacOS\Pesterchum
.- macOS releases don't support macOS versions older than the one it was build on, recently, I've been using Catalina. If you're running Mojave or older, you'll probably have to run from source.
- My releases are unsigned, so you'll probably have to click "Open Anyway".
-
DOCUMENTATION
The old documentation can be found in docs, these have aged pretty well:
- HOW TO MAKE YOUR OWN THEME
- Canon troll quirk guide (REGEXP REPLACE)
- Guide for setting up Python quirk functions
Some useful off-repo guides:
The old READMEs are also preserved in the docs folder:
RUNNING FROM SOURCE
Pesterchum is a Python script. This means that as long as you have Python installed you can run it without requiring a build/executable. This is useful if there's no compatible build for your system.
REQUIREMENTS
- Python 3
- PyQt6
- On Linux, optionally pygame for audio. (QtMultimedia has a GStreamer dependency on Linux)
WALKTHROUGH
- Verify you have Python 3 and pip installed by running
python --version
andpython -m pip --version
on your system's console/terminal. If not, install Python, make sure to check to include pip and "Add to path" in the installer. If you have Python 3 but not pip, you could use get-pip.- On Windows, depending on your installation, Python 3 might be available with the
py -3
command instead ofpython
. - Some platforms, mostly Linux and macOS, might require you to run
python3
instead ofpython
. Some old installations still have Python 2 available underpython
. - On Linux it's better to install Python & pip via your package manager.
- On macOS it's also possible to install (a more recent version of) Python via Brew.
- On Windows, depending on your installation, Python 3 might be available with the
- Install Pesterchum's dependencies with pip, run:
python -m pip install PyQt6 pygame
- If this fails, try running
python -m pip install -U pip setuptools wheel
to update pip, setuptools & wheel and then trying again.
- If this fails, try running
- Download this repository's source, or choose the "Source Code" option on any release, and extract the archive to a folder of your choice.
- Navigate your terminal to the folder you chose with
cd /folder/you/chose
.- For example, if you extracted it to your documents on Windows, run
cd C:\Users\user\Documents\pesterchum-alt-servers-main
.- Windows's cd command requires the /d flag to navigate to a different drive. (
cd D:\pesterchum-alt-servers-main
)
- Windows's cd command requires the /d flag to navigate to a different drive. (
- For example, if you extracted it to your documents on Windows, run
- Run Pesterchum by running either
pesterchum.py
orpython pesterchum.py
.
FREEZE / BUILD
Here's a quick guide on how to freeze Pesterchum, (that is, packaging it with python as an executable). :3
Ideally, you'll want to create and activate a virtual environment before anything else, this is not 100% required though.
CX_FREEZE
pip install cx_freeze
python3 setup.py build
PYINSTALLER
pip install pyinstaller
python3 pyinstaller.py
SMILIES
:rancorous:
:apple:
:bathearst:
:cathearst:
:woeful:
:pleasant:
:blueghost:
:slimer:
:candycorn:
:cheer:
:duhjohn:
:datrump:
:facepalm:
:bonk:
:mspa:
:gun:
:cal:
:amazedfirman:
:amazed:
:chummy:
:cool:
:smooth:
:distraughtfirman:
:distraught:
:insolent:
:bemused:
:3:
:mystified:
:pranky:
:tense:
:record:
:squiddle:
:tab:
:beetip:
:flipout:
:befuddled:
:pumpkin:
:trollcool:
:jadecry:
:ecstatic:
:relaxed:
:discontent:
:devious:
:sleek:
:detestful:
:mirthful:
:manipulative:
:vigorous:
:perky:
:acceptant:
:olliesouty:
:billiards:
:billiardslarge:
:whatdidyoudo: