A free/libre program for performing various tasks with Discord
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nickolas360 4cf9b0a196 Bump dev version 8 months ago
harmony Bump dev version 8 months ago
scripts Fix registration, update UAs, use librecaptcha GUI 8 months ago
.gitignore Fix registration, update UAs, use librecaptcha GUI 8 months ago
.gitmodules Fix registration, update UAs, use librecaptcha GUI 8 months ago
LICENSE Initial commit 2 years ago
MANIFEST.in Make installable; v0.5.0 1 year ago
README.rst Bump dev version 8 months ago
harmony.py Fix registration, update UAs, use librecaptcha GUI 8 months ago
requirements.txt Fix registration, update UAs, use librecaptcha GUI 8 months ago
setup.py Bump dev version 8 months ago

README.rst

Harmony

Version 0.6.1-dev

Harmony is a free/libre program that allows you to perform various actions with the messaging service Discord. Currently, it allows you to:

  • Create an account

  • Verify your email address

  • View your account tag

  • Change your username, email address, password, and avatar

  • Change safety and privacy settings

  • List servers you’re in and members in those servers

  • Transfer and delete servers you own

  • Accept server invites

  • Delete your account

Actions that require you to complete a CAPTCHA (often required when logging in from a new location, for example) are automatically supported by using librecaptcha.

For free/libre software that allows you to send and receive messages with Discord, check out purple-discord.

Installation

From PyPI

Install with pip:

sudo pip3 install harmony-discord

To install locally, run without sudo and add the --user option.

From the Git repository

Clone the repository with the following commands (you’ll need to have Git installed):

git clone https://github.com/nickolas360/harmony
cd harmony

Then install with pip:

sudo pip3 install .

To install locally, run without sudo and add the --user option.

Run without installing

Run the first set of commands in the previous section to clone the repository. Then, install the required dependencies by running:

sudo pip3 install -r requirements.txt

To install the dependencies locally, run without sudo and add --user.

Usage

If you installed Harmony, simply run harmony, or see harmony -h for more options. If you didn’t install it, use ./harmony.py instead of harmony.

For better text editing support, install rlwrap and run rlwrap harmony or rlwrap ./harmony.py.

What’s new

Version 0.6.0:

  • Fixed registration.

  • The librecaptcha GUI is now used when available.

Version 0.5.x:

  • Harmony can now be installed from PyPI, or from the Git repository with pip or setup.py.

  • Fixed possible encoding issue in setup.py.

Version 0.4.x:

  • librecaptcha is now loaded from Python’s default path if available; otherwise, the corresponding submodule is cloned.

  • You can now list servers you’re in with the servers command.

  • You can now list members in a server with the members command.

  • You can now display and accept invites with the show-invite command.

  • You can now transfer servers with the transfer command.

  • You can now delete servers with the rm-server command.

  • You can now delete your account with the delete command.

  • You can now undelete an account scheduled for deletion with the undelete command.

  • The get-details and get-settings commands now provide more information.

  • Updated the user-agent list.

  • Fixed some miscellaneous bugs.

  • Improved separation between the frontend and backend.

Version 0.3.x:

  • Fixed automatic librecaptcha downloading in harmony.py.

  • Login attempts that require CAPTCHA tokens are now supported.

  • The verification process when logging in from a new location is now supported.

  • Fixed some miscellaneous bugs.

Dependencies

License

Harmony is licensed under the GNU General Public License, version 3 or any later version. See LICENSE.

This README file has been released to the public domain using CC0.