ayn2op / discordo Goto Github PK
View Code? Open in Web Editor NEWA lightweight, secure, and feature-rich Discord terminal client.
License: MIT License
A lightweight, secure, and feature-rich Discord terminal client.
License: MIT License
I was like the idea to having writing the emote name and call it a day rather writing full name+emote number.
Since I dislike to memorized all number and using UTF is nothing rather complicated, I think just by writing it would showing several emote you can pick and my pressing "tabs" it would autocomplete selected emote name and sending it as full rather just name only...
It also can be setup to showing full name+emote number or just by emote name. If attachment is support, then it would showing cached small emote is supported terminal such kitty...
Current the official Discord client supports multiline formatting, but Discordo only formats if the formatting is on a single like.
For example:
~~Multiline
Strikethough~~
Would display as this
Multiline
Strikethrough
In the official client but doesn’t format in Discordo.
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)
When I load a direct message or a channel, all messages from all channels in all servers that I am in are delivered at all times.
Its not recommended to create a config file in ~/.config
folder, most if not all applications make their own folder, which means the path of the config file would be ~/.config/discordo/discordo.toml
you can even change the filename to config.toml
once you put it inside your own folder
Adding timestamps for each message at the end of the row would be a useful feature.
As the title says, I'm seeking a way to reply to a message with keyboard only. Is there already a keybinding?
after opening a channel is there a keyboard shortcut to get back to the parent list without having to use the mouse?
Title is pretty self explanatory. It would be nice to be able to shift enter to do multiline input.
Tho it works fine when the pass is fine, if you get the pass wrong the app will crash.
Hi there,
I just wanted to check with you and see if this is possible.
hi i would like to see image embeds being shown in the client itself instead of needing a external viewer for it
I wish I could somehow delete highlighted messages
I apologize if this is already implemented, I looked around but wasn't able to find anything.
Is there a way to view image previews, or open an image/link?
Other than that this is fantastic and light, it works very well on a pinephone.
The toggle_guilds_list
, toggle_channels_tree_view
, toggle_messages_text_view
, and toggle_message_input_field
actions probably shouldn't be allowed in the login form, due to their activation making completion of the login process impossible.
Would be great to have the functionality of listing users in a channel and tagging @ them in chat.
The current behavior does not scroll the messages TextView
to the end. Instead, it scrolls it to the previous scroll state of the formerly-selected channel, if the user had selected any channel in a guild earlier. This can be easily fixed by calling (*TextView).ScrollToEnd()
after the messages has been written to the TextView
.
seen this already in the readme, but thought an issue necessary for tracking purposes
bold, italics etc in accordance to https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-
This is already a feature in some terminal emulators with the mouse, but I think it would help to be able to effectively just open a link from a message in the default user browser. If there are multiple links in a message, the user could either be prompted to select one of the links or just open all of them quickly. A link could be searched for with a very basic regex, just how the default client does it, like /https?:\/\/.+/g
.
The official client does support other handlers like steam://
, but those seem to have a hard list and would be relatively easy to add to the check if need be
It would be nice if the user could hide channels. It could be something as simple as using the message options keybindings on a channel then selecting hide.
To unhide select the guild and use the message options keybinding to "unhide all channels"
It would really clean up the UI.
I'm running the current master
(d5c35ec
at the time of writing this), built through AUR.
When I try to log in I first get the expected Email
and Password
fields. Pressing the Login
button makes the UI unresponsive for a fraction of a second. I know this because pressing it many times consecutively queues up presses and so increases the unresponsive duration.
From reading the code I would expect the login window to be re-rendered with an MFA token field, but that never happens. I don't get a panic
either, which leads me to believe that the login attempt doesn't produce an error.
I don't see any hint of a --debug
flag or something similar, so I'm a bit at a loss for how to investigate further, short of getting started with golang and running discordo in the debugger.
The only available list is that of guilds as far as i can see
Either it is just undocumented ( #56 )
Or it is not yet implemented, in which case a roadmap would be interesting to see
p.s. love the project
Whenever I press the 'o' key while I'm focused on a message, the program exits with the following output:
panic: runtime error: index out of range [-1] [recovered]
panic: runtime error: index out of range [-1]
goroutine 1 [running]:
github.com/rivo/tview.(*Application).Run.func1()
github.com/rivo/[email protected]/application.go:243 +0x4d
panic({0x561b3e031740, 0xc0009a8438})
runtime/panic.go:1038 +0x215
github.com/ayntgl/discordo/ui.(*MessagesTextView).onInputCapture(0xc000021480, 0xc000109c80)
github.com/ayntgl/discordo/ui/messages.go:100 +0xea5
github.com/rivo/tview.(*Box).WrapInputHandler.func1(0xc000021480, 0xc000109cd8)
github.com/rivo/[email protected]/box.go:164 +0x3a
github.com/rivo/tview.(*Flex).InputHandler.func1(0xc000109d18, 0x561b3dd5cf3f)
github.com/rivo/[email protected]/flex.go:251 +0xd9
github.com/rivo/tview.(*Box).WrapInputHandler.func1(0xc000633ad0, 0x10)
github.com/rivo/[email protected]/box.go:167 +0x53
github.com/rivo/tview.(*Flex).InputHandler.func1(0x561b3da729a7, 0x10)
github.com/rivo/[email protected]/flex.go:251 +0xd9
github.com/rivo/tview.(*Box).WrapInputHandler.func1(0xc00007b950, 0xc000109e20)
github.com/rivo/[email protected]/box.go:167 +0x53
github.com/rivo/tview.(*Application).Run(0xc0001b4460)
github.com/rivo/[email protected]/application.go:335 +0x886
main.main()
github.com/ayntgl/discordo/main.go:103 +0x2a7
I'm using kitty in Debian 11, if that helps.
The title is self-explanatory, so nothing much to write here.
It would be great to be able to send images copied onto the clipboard as well as uploading local files, with discordo.
This might already be a thing but it's unclear to me how to access it, it does not seem to appear in any of the keybinds or in the message action menu.
I think it would be useful if simply pressing enter or some key like d
while hovering over a message with an attachment to download it to the default download location on the system.
In addition, I think a keybind like o
to automatically open the file in the default system handler would be pretty neat.
Would love to be able to use this with a 2FA secured account.
As mentioned in #56 the config file should be able to accept hex color codes
I'm using kitty terminal. and my terminal already has transparency.
I have submitted an issue about it here '#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 :/
Is there a way to load more of the message history for each DM?
I'm using i3 with Kitty as my terminal. I have made my terminal transparent but whenever I launch Discordo it doesn't follow the assigned transparency.
https://i.imgur.com/AtoVWPf.png
I have looked into a past issue about transparency https://github.com/ayntgl/discordo/issues/63 but it doesn't seem to be working for me.
I added "ColorDefault = 0" into /home/user/discordo/config.toml but it remained the same.
After selecting a channel, messages that were previously sent display in a random order
The problem is fixed by removing the go
keyword in line 102 of ui.go:
func onChannelsTreeSelected(n *tview.TreeNode) {
...
for i := len(ms) - 1; i >= 0; i-- {
selectedChannel.Messages = append(selectedChannel.Messages, ms[i])
go renderMessage(ms[i])
//^ Right here
}
...
}
Current version shows only one full screen of chat history without the possibility to scroll upwards for more
So the Discordo is had some issue when try to open. since it can be from discord itself where forcing to using hCaptcha to prevent spam bot exist. this is making to login via terminal is difficult for people who are trying to using Discordo.
For more info, I'll try to Screenshot later.
It would be nice if there was a way to edit and delete messages. Also, it would be really cool if we selected an image and hit enter, the default image viewer would open, and if you selected a link, the default browser would open.
hi i would like to be able to join voice channels
The keyboard shortcuts (j
, k
) do not work after the user has highlighted in the previously selected channel and switched the channel to something else in the same or different guild.
hi, im opening this because peepo5 didnt do it yet and i think this would be pretty cool to have considering you need to complete a captcha to log into discord normally and that wont work on a tty.
basically just a flag like -t but it stores the token in your keyring so you dont have to type your token in each time
thanks!
panic: websocket: close 4004: Authentication failed.
goroutine 1 [running]:
main.main.func1(0xc0000aa1c0?)
/home/ryuo/.cache/paru/clone/discordo-git/src/discordo/main.go:56 +0x334
github.com/urfave/cli/v2.(*App).RunContext(0xc00008a680, {0x9fb228?, 0xc000024200}, {0xc000020180, 0x3, 0x3})
/home/ryuo/go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:329 +0x9d3
github.com/urfave/cli/v2.(*App).Run(...)
/home/ryuo/go/pkg/mod/github.com/urfave/cli/[email protected]/app.go:226
main.main()
/home/ryuo/.cache/paru/clone/discordo-git/src/discordo/main.go:143 +0x2f0
When I try to login it literally does nothing no feedback at all. Just have the email password and login button
easy join channel commands
/join https://discord.com/invite/420
Hello there
I needed some help with running the prebuilt binary on Pop OS.
I extracted the downloaded zip and gave the file inside permission to run as an executable. But running it does nothing.
Kindly help me with this issue. Thanks!
I think it would just be a pretty useful feature, by default, spoilered (surrounded by unescaped ||
) contents of a message could be written as █
(U+2588) and pressing enter while hovering over a message would reveal its contents. Additionally, an option to automatically display spoilered contents like in the official discord client would be neat.
Hi again ayntgl!
Again I really appreciate your work - I am learning go atm so maybe I'll be able to help out in the future.
I want to ask if there will be a legend for showing keybinds in the works. Currently I am not understanding what
keybindigs can be used. Maybe I just haven't looked around thourougly enough in the project.
Cheers,
with the ability to jump to the first message in a channel.
Hello! I would like to request a feature for supporting images, I have seen the issue about feature request for images. I have some ideas about the image feature :
send *.png/*.jpg
.Ctrl-O
on the selected message. The message should be like this "Image : *.png | OPEN"It would be good to provide notification syscalls like original discord does.
I can make PR for that. But idk if u want to approve it, because of another dependency.
I would like to add the most used notification library "dunst".
Navigating guilds right now if you have a lot of them can be annoying it would be really nice to be able to have a feature to support guild folders like the normal discord app.
Not sure if this is possible but it would be a really nice feature to have.
Highly appreciate a way to configure which timezone I'm using.
Since summertime (Personally I'm in CET+2) discordo timestamps are lagging with 2 hours
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.