A simple Discord terminal ui written in Crystal.
I originally had the system set up to use
dbus for a notification service.
However, according to the
NOTE ABOUT STATIC LINKING We are not yet firmly freezing all runtime dependencies of the libdbus library. For example, the library may read certain files as part of its implementation, and these files may move around between versions. As a result, we don't yet recommend statically linking to libdbus. Also, reimplementations of the protocol from scratch might have to work to stay in sync with how libdbus behaves. To lock things down and declare static linking and reimplementation to be safe, we'd like to see all the internal dependencies of libdbus (for example, files read) well-documented in the specification, and we'd like to have a high degree of confidence that these dependencies are supportable over the long term and extensible where required.
As a result, I will be unable to compile a static binary that uses dbus for notifications.
I will be removing the notification system from
master and hosting it on a separate branch named
with-notifs until a solution can be reached for this issue.
I apologise for this, and will continue looking for a way to remedy the situation.
Self-bots are not allowed by Discord's Terms of Service. Using crcophony could technically count as using a self-bot. Use this project at your own risk, it isn't my fault if it gets you banned.
That being said, I'm trying my best to ensure the application is as safe as possible. You cannot do anything in crcophony that you can't do in the normal Discord client (in fact, there are things you can do in the Discord client that you can't do in crcophony) so it should be okay.
Bottom line: Use at your own risk
Since the 0.1.0 release I have been including a static binary attached to releases. Here are instructions for running the application using these binaries;
./crcophonyfrom the directory you downloaded the binary to and it should run.
If the pre-built binary doesn't work, open an issue with as much information as possible (from log files and application error trace and such) and then maybe also try installing from source!
If the pre-built binary didn't work for you, or you want to install from source by choice, here are the instructions;
shards installto install requirements.
shards buildto build the system, or use
shards build --releaseto build with optimisations (slower build but potential speedups over non release mode).
bin/crcophonyto open the application.
To use the system, you must gather the following information and export the data as environment variables. These variables are as follows;
CRCOPHONY_TOKEN: Your user token used to authenticate yourself with the client
CRCOPHONY_USER_ID: Your user id (might not be necessary, requires investigation and could be removed at a later point)
Here are the instructions for you to get these bits of data;
user_id, right click on your own name in the Users sidebar of any channel and click "Copy ID". This is the value you should put in as the
If you use the
bash shells, a sample
.env file has been included in this project (
Simply rename the appropriate file to
.env, populate the strings inside with your gathered data and run
source .env in the directory to get the correct environment variables created.
One stop shop for the updates made to the project with each version, and to check master's status against the latest release
with-notifs branch is an up to date version of the application with additional notification support.
To summarise what is said in the project README; I will be unable to provide a static executable that uses dbus for notifications.
If you want this feature, you will have to build from source.