Lightweight Discord terminal client

discordo

Lightweight Discord terminal client

Preview

Features

  • Lightweight: Discordo is designed to have a low memory footprint and low CPU usage, overall a low usage of system resources.
  • Secure: Discordo securely encrypts and stores the authentication token on first login to an OS-specific keyring.

Installation

Building

git clone https://github.com/rigormorrtiss/discordo
cd discordo && go build

# Optional
mv ./discordo /usr/local/bin

Getting Started

  • Run the built executable in a new Terminal.
  • Choose the preferred login method.
  • Log in using the chosen login method and click on "Login" button to continue.

Disclaimer

Automated user accounts or "self-bots" are against Discord's Terms of Service. I am not responsible for any loss caused by using "self-bots" or Discordo.

Owner
creator of overly complex things
null
Comments
  • Messages flow in from every channel at once, rather than just the selected one...

    Messages flow in from every channel at once, rather than just the selected one...

    Expected behaviour should be that selecting a channel would only show messages from that channel, but instead selecting a channel shows the messages belonging to that channel before flooding the chatlog (visually) with spam from other channels or even servers.

    image Note how, despite having no channel selected at all, I'm still receiving a flood of messages from random servers.

  • I'm confused in how to add transperency.

    I'm confused in how to add transperency.

    I'm using kitty terminal. and my terminal already has transparency. I have submitted an issue about it here 'https://github.com/ayntgl/discordo/issues/133' But I'm not sure how to implement the solution. I setted up my TOML file to look like this [theme] border = "white" title = "white" background = ""

    I was following instructions from this comment "@tildethine, you can now set the theme.background field to an empty string in the configuration file to have a transparent background." submitted by @ayntgl

    But after doing that my discordo is still not transparent :/ I've looked into theme.go and this is what I see. package config

    type ThemeConfig struct { Background string toml:"background" Border string toml:"border" Title string toml:"title" }

    func newThemeConfig() ThemeConfig { return ThemeConfig{ Background: "", Border: "white", Title: "white", } }

    Looks like it read the TOML file but it's still not transparent :/

  • Do I need to run an installer to get the config.toml file?

    Do I need to run an installer to get the config.toml file?

    I am running the app from source on OSX and not finding this file in any of the prescribed locations.

    Can someone share a default config.toml I can install?

    In particular, I'm trying to figure out the setting that will let me set the "Home" key (in re: https://github.com/ayntgl/discordo/issues/173)

    Thank you very much

  • Nothing happens after pressing

    Nothing happens after pressing "LOGIN" button.

    Title is what it says. Even if I put in a knowingly fake email and password, nothing happens when I try and press the login button. It hangs for a split second, then does nothing. No errors that I can visually see however. Would be helpful if I knew the location of some sort of log file or something of the sort, but I can't find any, apologies for that.

    OS: Arch 5.18.12-arch1-1 (Archcraft) Terminal: Alacritty 0.10.1-2 Discordo: r119.797d557-1 (Version currently on the AUR)

  • feat: implement keybindings for opening and downloading attachments

    feat: implement keybindings for opening and downloading attachments

    This adds a few new config options:

    attachment_download_location a string which is, by default, set to the platform's default downloads folder.

    open_attachment a keybind which, when used while hovering over a message with at least one attachment, will open those attachments in the system's default handler. It uses start on Windows, xdg-open on Linux and open on MacOS

    download_attachment a keybind which, when used while hovering over a message with at least one attachment, will download those attachments in the location configured in attachment_download_locaiton

    as well as, of course, all the features relating to those configuration options.

    While I could test it on Windows and Linux, I am as of yet unsure if this works on MacOS. Also, this does not implement any user feedback upon downloading or opening a file, as I am currently unfamiliar with the UI code.

    btw this is my first ever PR so I'd appreciate any feedback

  • Panic Crash while logging in from 2FA account

    Panic Crash while logging in from 2FA account

    Installed using AUR. Crashes when Trying to login with a 2 factor authentication enabled account.

    panic: account has 2FA enabled [recovered]
    	panic: account has 2FA enabled
    
    goroutine 1 [running]:
    github.com/rivo/tview.(*Application).Run.func1(0xc00021e000)
    	/home/niteshk/go/pkg/mod/github.com/rivo/[email protected]/application.go:243 +0x87
    panic(0x883f80, 0xc00000e270)
    	/usr/lib/go/src/runtime/panic.go:965 +0x1b9
    main.newSession(0xc000402ea0, 0x1a, 0xc00046e140, 0xe, 0x0, 0x0, 0xc000088800)
    	/home/niteshk/.cache/yay/discordo-git/src/discordo/discordo.go:126 +0x306
    main.onLoginFormLoginButtonSelected()
    	/home/niteshk/.cache/yay/discordo-git/src/discordo/discordo.go:267 +0x152
    github.com/rivo/tview.(*Button).InputHandler.func1(0xc0003e7020, 0xc0003ea810)
    	/home/niteshk/go/pkg/mod/github.com/rivo/[email protected]/button.go:129 +0x6a
    github.com/rivo/tview.(*Box).WrapInputHandler.func1(0xc0003e7020, 0xc0003ea810)
    	/home/niteshk/go/pkg/mod/github.com/rivo/[email protected]/box.go:161 +0x62
    github.com/rivo/tview.(*Form).InputHandler.func1(0xc0003e7020, 0xc0003ea810)
    	/home/niteshk/go/pkg/mod/github.com/rivo/[email protected]/form.go:673 +0xee
    github.com/rivo/tview.(*Box).WrapInputHandler.func1(0xc0003e7020, 0xc0003ea810)
    	/home/niteshk/go/pkg/mod/github.com/rivo/[email protected]/box.go:161 +0x62
    github.com/rivo/tview.(*Application).Run(0xc00021e000, 0x0, 0x0)
    	/home/niteshk/go/pkg/mod/github.com/rivo/[email protected]/application.go:335 +0x7a7
    main.main()
    	/home/niteshk/.cache/yay/discordo-git/src/discordo/discordo.go:70 +0x40d
    
  • Can't see channels

    Can't see channels

    Hi there,

    Even if I was finally able to build and log into discordo using my discord user/pass, I can't see the servers or channels listed anywhere. I can only see the PMs listed under the channels window, which is somewhat confusing.

    Looking at the instructions, they don't mention anything special should be done.

    So, how can I make servers & channel show up on discordo? I mean, the ones I am joined in.

    Thanks!

  • Failed to build on GNU/Linux Ubuntu 22.04

    Failed to build on GNU/Linux Ubuntu 22.04

    Hi there,

    This is my first time building a "go" program, so I am sorry if I did something wrong.

    I installed the "go" compiler like this: sudo apt-get install gccgo-go

    Then, I did this: go mod download github.com/gdamore/tcell/v2

    Then I tried to build with make build -j4

    But I get:

    
    go build -ldflags "-s -w"
    ../../go/pkg/mod/github.com/mattn/[email protected]/runewidth.go:7:2: //go:build comment without // +build comment
    ui/login_view.go:10:2: //go:build comment without // +build comment
    make: *** [Makefile:16: build] Error 1
    
    

    Any idea on what's going on? Some omission on my side, for sure, but what?

    Thanks!

  • Missing servers from the guilds view

    Missing servers from the guilds view

    I posted this question on the discord forum, but the server is now missing.

    My guilds list is missing everything except for the server I created and my direct messages. I have to log in with the '--token' method as I have issues with captcha when using email and password, if that makes any difference.

  • desktop notifications via dbus or beeep

    desktop notifications via dbus or beeep

    https://github.com/ayntgl/discordo/issues/121 was mainly referencing dunst, which it's only possible way to communicate to with notifiactions is with dbus, and with the beeep library it should be straight-forward i'd assume.

    tl;dr use beeep as it can support dbus, which means native system notifictations.

    alternatively; have a FIFO/file for discordo to put notifiactions into, which can be read by a wrapper to send to a notification handler (eg. herbe, xnotify, dunst (without dbus!))

  • Compiled under Android ARM64 via Termux Not Running

    Compiled under Android ARM64 via Termux Not Running

    I have compiled & moved binary to $PREFIX/bin & it launches perfectly as well. I inserted my token as per this guideline

    However after login it just is blank ...altough separators / sections are shown but no messages or channel names?

    Screenshot_20220919_165326_Termux

Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal.
Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal.

Stonks is a terminal based stock visualizer and tracker. Installation Requirements: golang >= 1.13 Manual Clone the repo Run make && make install Pack

Dec 16, 2022
a lightweight CLI client for interacting with the Akash Network

Akash Command Center A lite weight client for communicating with the Akash Network. There are no provider, or validator bits in this project. Install

Feb 12, 2022
Terminal client for SimpleNote

GoNote - Terminal client for SimpleNote GoNote is a simple utility for managing notes in your SimpleNote account. It allows basic operations like crea

Nov 22, 2022
YouTube client on your terminal

MeowTube YouTube client on your terminal Table of Contents About Getting Started Usage Contributing About MeowTube is a CLI (Command Line Interface) t

Jul 29, 2022
lazyhub - Terminal UI Client for GitHub using gocui.
lazyhub - Terminal UI Client for GitHub using gocui.

lazyhub - Terminal UI Client for GitHub using gocui.

Dec 14, 2022
📱🥴 TikTok terminal client for browsing & downloading videos
📱🥴 TikTok terminal client for browsing & downloading videos

tiktik ?? ?? - TikTok Terminal Client Name inspiration - this yt vid Huge Thanks to Egor who wrote the parsing part Installation ?? go get -u github.c

Dec 3, 2022
Visp is a Vi-like Spotify client for terminal users.
Visp is a Vi-like Spotify client for terminal users.

Visp Visp is an interactive console client for Spotify, written in Go. Its interface is similar to Vim, and aims to be fast, configurable, and practic

Dec 31, 2022
Slack client for your terminal
Slack client for your terminal

slack-term A Slack client for your terminal. Installation Binary installation Download a compatible binary for your system. For convenience, place sla

Dec 30, 2022
Terminal client for MangaDex 📖
Terminal client for MangaDex 📖

mangadesk - Terminal client for MangaDex ?? Download manga directly from your terminal to read! This client retrieves information straight from MangaD

Dec 27, 2022
TScli - a very simple terminal-based client for TSWeb online judge

TScli TScli - a very simple terminal-based client for TSWeb online judge. It supports submitting problems and receiving feedback on them. Installation

Oct 24, 2021
Gocheat - Golang terminal client for cht.sh that uses charm.sh's bubbletea project

Go Cheat.sh install gotext go get -u golang.org/x/text/cmd/gotext go generate

Jun 3, 2022
A simple way of sending messages from the CLI output to your Discord channel with webhook.
A simple way of sending messages from the CLI output to your Discord channel with webhook.

discat A simple way of sending messages from the CLI output to your Discord channel with webhook. Actually, this is a fork version of slackcat that I

Nov 15, 2022
Discord screenshare, now with audio!

audio-share-discord-linux Discord screenshare, now with audio! Build Instructions go build . chmod +x audio-share-discord-linux ./audio-share-discord-

Nov 9, 2022
Brigodier is a command parser & dispatcher, designed and developed for command lines such as for Discord bots or Minecraft chat commands. It is a complete port from Mojang's "brigadier" into Go.

brigodier Brigodier is a command parser & dispatcher, designed and developed to provide a simple and flexible command framework. It can be used in man

Dec 15, 2022
Simple, seamless, lightweight time tracking for Git
Simple, seamless, lightweight time tracking for Git

Git Time Metric Seamless time tracking for all your Git projects $ gtm report -last-month $ gtm report -last-month -format summary $ gtm report -last-

Dec 27, 2022
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.

asciigraph Go package to make lightweight ASCII line graphs ╭┈╯. Installation go get github.com/guptarohit/asciigraph Usage Basic graph package main

Jan 8, 2023
Shelby is a fast ⚡️ , lightweight ☁️ , minimal✨, shell prompt written in Go.
Shelby is a fast ⚡️ , lightweight ☁️ , minimal✨,  shell prompt written in Go.

Shelby is a fast ⚡️ ,lightweight ☁️ ,minimal ✨ , shell prompt written in Pure Go. Installation Follow the steps below(Linux and macOS), and Post Insta

Dec 3, 2022
SSH Lightweight management tools
SSH Lightweight management tools

tssh golang 实现的ssh 工具 安装 下载安装 下载地址 release windows用户请手动下载,暂时不提供一键安装模式( 主要是批处理脚本不会写 ) Mac一键安装 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.

Sep 14, 2022
a lightweight and simple cli package

▄████████ ▄█ ▄█ ███ ███ ███ ███ ███ █▀ ███ ███▌ ███ ███ ███▌ ███ ███ ███▌ ███ █▄ ███

Oct 14, 2021