A Discord terminal client built in ~4 hours. Functional: message, reply, upload — all from the command line.
Watch more of the showcase here: https://jmp.sh/s/d63EFvt1hZTQpvic5paR
⚠️ USE AT YOUR OWN RISK
This client acts like a selfbot, and using it violates Discord's TOS.
You may get banned.
I am not responsible for any account loss.
✅ Use an alt account, or use within a proper Discord Bot context.
emoji==1.6.3 clipboard rich prompt_toolkit discord.py asyncio shutil tkinter playsound threading json
First of all. Set up your token first. There's 2 way.
a.
python main.py -t [YOUR_TOKEN]
b.
- Open / Create your token.txt. Insert this template:
---
Username: Account_Username_0
Token: Token_Username_0
---
Username: Account_Username_1
Token: Token_Username_1
---
- And replace Token_Username_0 with each desired token. You can also add more entry if you want to.
- Then do
python main.py -s [index_token]/[username]
Example:
python main.py -s 1
# Starts Token_Username_1python main.py -s Account_Username_1
# Starts token of Account_Username_1
- REMEMBER, it should be Username-Token as the template, do not skip it, not even the between Token and :.
c.
python main.py
# Is equal topython main.py -s 0
python main.py
# then use -h or -changelog
- Clone this repo to:
C:/Users/[your-name]/DisCLI
- Open
System Properties
→Advanced
→Environment Variables
- Under System Variables, edit
Path
- Add:
C:\Users\[your-name]\DisCLI\
- Click
OK
on all windows.
Now you can run main.py
from anywhere.
-h
→ help-changelog
→ recent updates
🧭 Navigation
-s [server] Pick a server
-c [channel] Pick a chat channel (needs -s first)
-cf [friend] Pick a friend to DM
-q / -e Quit the CLI
-ct [emoji] React a message with emoji, ex: -ct 5 :sob:
⌨️ Typing
-r [index] [msg] Reply to message by index
-d [idx ...] Delete messages (list accepted)
-up Upload a file (via Explorer popup)
-deup Clear all staged uploads
-fw [idx] [target] Forward message to someone
-y [index] Copy or Yank a message
-p [index] Pin a message, if authorized
-dp [index] Unpin a message, if authorized
-e [index] [edit] Edit a message of index_message with new edit
"say" Without (-) will say something in current_channel, also sends a file if -up is triggered before
"@" List all mentionable users
":...:" List all possible emoji
🔔 Misc
-ntf / -notif Show notifications
-gntf / -gonotif Jump to notif source
->n / -<n Scroll newest/oldest by n messages
Minor = doesn't affect core usage much
- emoji picker wont work on
react
command. *i can actually fix it, but my time is up already` - @ mention won't work.
- (minor) Screen may scroll to top on mention
- (minor) Command auto-complete can break before API init (fix: press space and retype)
- (minor) Display name invisibility on some servers
🐛 Found a bug? Submit an Issue
- Reply, send, delete messages
- Copy, Pin, Edit messages
- React to messages
- Chat in servers / DMs
- Message forwarding
- Upload + auto-remove file attachments
- Display name + timestamp
- Emoji reactions
- Notification system (WIP)
- Rich config via
conf.json
- Multi-token login
- Multi-Access Login (either via
Username and Password (not possible apparently, it asked for CAPTCHA instead)or Token)
- ⏳ Per-channel notification sounds
- ⏳ Hotkey support
- ⏳ Change profile pic, bio, banner
- ⏳ Open files via browser
- ⏳ Colored text / markdown preview (via
rich
andlexer
- ⏳ Snippets like
{myutc}
→ current time - ⏳ Join/leave server
- ⏳ Bookmark message
- ⏳ Join & Leave a server
- ⏳ Color a text (similar to snippet, reference Rebane Message Color
Changelog:
v25.06.17 (yy/mm/dd) - Initial release (took 4.5~ hours) a. Working Reply and Sending messages b. Ability to DM or Interact with friends c. Proper Chat UI v25.06.19 (Major Tweaks and Improvement) (took ~9.2 hours) - Improved Chat UI a. Different color for user and other people b. Added timestamp c. Auto-clear for every command trigger d. Long message has horizontal bar e. Reply to message is visible f. Display name and User name shows (tweakable) g. Added more colors h. Color change upon command insert, the input I mean - More commands (check -h) a. -d(elete messages) b. -up(load file) c. -de(stage)up(load file) d. -f(or)w(ard) message e. -n(o)t(i)f f. -g(o to)n(o)t(i)f - Misc a. Minor revamp of code structure b. Added notifications for ping (untested) v25.06.19.01 (Minor tweaks) - Chat UI a. Attachment is shown - Misc a. Added `conf.json` to configure the terminal v25.06.21 (Minor bug fixes) v25.06.21.01 (minor bug fixes) v25.06.21.02 (added few features) - More commands a. -y(ank message) # Yank is Copy b. -p(in message) c. -d(eny)p(in message) d. -e(dit message) v25.06.21.03 (added react to message) - More commands a. -(rea)ct (message) > This won't display properly if your CMD unable to show emoji. It do works in Win 11. - Added Account Template a. You can now switch to different account easily through `token.txt` b. Input token via `-t` in CLI