Skip to main content

Discord CLI client written in Python, based on urwid.

Project description

PyPI version

A CLI for discord, written in Python. The name is a combination of discord and curses, as in the terminal interface library. Discurses doesn’t use curses, but i originally planned to. It is now built using urwid, a widget library which can use curses as a rendering engine, but discurses works fine without it.

Questions, bug reports, PRs and comments are all very welcome.

I can be contacted at Discurses chat view



That one is pretty easy:

$ pip install discurses

Python 3.6 or more is required.

If you’re having trouble launching the application post-install, check your PATH variable.

$ echo $PATH

Pip installs by default into $HOME/.local/bin which is not typically part of your path. You can add it with the following command:

$ export PATH=$PATH:$HOME/.local/bin

Note: this is a temporary fix, you would need to add $HOME/.local/bin to your .profile or .bashrc to make it permanent, check your distributions documentation for PATH settings.


Start out by following this guide.

After that, follow the instructions for linux above

Seriously: urwid is sadly not supported on Windows, and since discurses is built on top of that, such an OS is not supported. You may use the official desktop client anyway.


Put the file example_discurses.yaml in your ~/.config/ directory, replace the placeholder with your discord token and rename the file to discurses.yaml. You can get the token by visiting, opening the developer tools (Ctrl+shift+i or Command+shift+i) and click on the Application tab, then on the sidebar: Local Storage then click the URL from the dropdown and you should see the token key followed by your token, copy what’s inside the speech marks and put it in your .yaml file.


Full list available in discurses/…

When your cursor is in the text box:

Key Action
enter send message
meta + enter insert newline
down show channel seclector
up focus on the message list
esc cancel message

General Commands:

Key Action
meta + s toggle server list
meta + b toggle member list
meta + q quit


First of all, please do, and if you do, feel free to ask me any questions. Also, the issue reports are up for grabs, but id be very happy to be notified before you start work, just so we dont work on the same thing.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for discurses, version 0.3.4
Filename, size File type Python version Upload date Hashes
Filename, size discurses-0.3.4.tar.gz (117.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page