
Show HN: Cordless, a Discord terminal client written in Go - guessmyname
https://github.com/Bios-Marcel/cordless
======
notamy
Do note that this is very much against the Discord TOS; the README does say
"WARNING: Self-bots are discouraged and against Discords TOS.", but for
clarity, anything considered "user account automation" is disallowed,
including custom clients and similar. See ex.
[https://support.discordapp.com/hc/en-
us/articles/11500219235...](https://support.discordapp.com/hc/en-
us/articles/115002192352-Automated-user-accounts-self-bots-)

(Obligatory disclaimer: I don't work for Discord, I just use it heavily and
make a bunch of proper bots for it)

~~~
ameliaquining
Where exactly does it say that custom clients are against the TOS? Those
aren't a form of automation. Discord deliberately offers (and this project
uses) an API for posting from non-bot accounts, which implies that there are
at least some legitimate use cases for using it.

~~~
empyrical
They discourage custom clients and also they discourage browser extensions
that modify the discord interface (like Better Discord)

[https://twitter.com/discordapp/status/846597021431713792](https://twitter.com/discordapp/status/846597021431713792)

[https://twitter.com/discordapp/status/972529263269371904?lan...](https://twitter.com/discordapp/status/972529263269371904?lang=en)

[https://twitter.com/discordapp/status/908000828690182145?lan...](https://twitter.com/discordapp/status/908000828690182145?lang=en)

I don't think they will send the banhammer down on you unless you use it for
spamming or "self-botting" but it still seems a bit risky

Ripcord seems to have survived this long without incident for its users, for
example

[https://cancel.fm/ripcord/](https://cancel.fm/ripcord/)

But they might start cracking down if a certain % of people start using other
clients

------
half-kh-hacker
This is a cool project, but it's kind of ruined by Discord's inane TOS.

I hope we can get people to move to something open.

~~~
dmix
I've never understood these tech company's intolerance to 3rd party clients,
which are almost always niche or used by the ad-blocker using tech savvy
subset of their userbase. Open clients is how most of the internet was built
and will continue to be built.

They should spend more time focusing on building their own best-in-class
clients themselves. If they're not able to accomplish that for the vast
majority of their users it's a sign of a bigger problem than some monetization
optimization strategy which will only push people away.

The valuable power users have multiple clients anyway and bring in more
regular users (who just use the standard clients) than they're worth
individually.

~~~
superkuh
The reason is simple. Discord's users are it's product, not the software
services it provides them. Its clients are intentionally spyware. If you made
your own client then they could not spy and sell information about you.

They send a tracking request for every single thing you do in their client.
Clicked on someone's profile, clicked on a channel, clicked on a "server" (not
really a server), etc. The URL was named "/track" before but they renamed it
to "/events" recently (but it's still a POST with no response).

Also their desktop client is literally a remote sdministration toolkit, it has
full access to FS (electron app) and it loads every script from their servers.
They can just add something like require('fs').readFileSync(process.env.HOME +
'/.ssh/id_rsa').toString() and send this to their servers, and you won't even
notice that (since it doesn't require an update on client because the client
is just a browser with full permissions that loads obfuscated code from their
servers every time you launch it).

~~~
dmix
I’m not even talking about 3rd party clients becoming the main clients. As I
said that would be a sign of a much bigger problem than just reduced ability
of monetization.

The reasons why they default to lock in are obvious, what I’m saying is that
it ultimately benefits their business or has a neutral effect as the type of
users to use a 3rd party client isn’t and is probably still using multiple
clients (mobile/desktop) and still buys the subscription services.

Discord will always make the most popular client. It’s just how this stuff
works. Just like Twitter 95%+ of people go to discord to download the clients.
It’s the niche ones on the side that end up getting banned.

It’s not like the advanced features of a freemium model couldn’t be replicated
in the client or in Twitters case they can still send ads in the API stream.
If the client doesn’t show the ads + is very popular (a key part of the
equation) then you can cut them off.

------
Fnoord
Another TUI Discord client written in Go, called 6cord [1]

I'm using Ripcord [2] because it is written in Qt, cross-platform, and works
for both Discord and Slack. It also has voice chat support. It is not FOSS
though, not feature complete either, and against ToS of Discord and Slack.

[1]
[https://gitlab.com/diamondburned/6cord](https://gitlab.com/diamondburned/6cord)

[2] [https://cancel.fm/ripcord/](https://cancel.fm/ripcord/)

~~~
auscompgeek
What is it about Ripcord that violates Slack's ToS? AFAIK Slack are pretty
accepting about custom clients, to the point where they even mention wee-slack
[1] in their docs [2].

[1]: [https://github.com/wee-slack/wee-slack](https://github.com/wee-
slack/wee-slack)

[2]:
[https://api.slack.com/community#python](https://api.slack.com/community#python)

~~~
gsich
They even had XMPP and IRC one time ... which they shut down for bullshit
reasons.

------
avinassh
On a related note, there is also a nice Slack terminal client (written in GO)
- [https://github.com/erroneousboat/slack-
term](https://github.com/erroneousboat/slack-term)

~~~
Fnoord
With Vi keybinds!!

------
0xb100db1ade
Cordless is awesome!

I've been using it for the past few weeks due to a problem with the Discord
electron client spinning up my fans. Using Discord in the terminal fixes the
problem (and scores major geek points!)

The main developer of Cordless is super nice. Each issue I've filed has been
an absolute pleasure to discuss.

------
qwsxyh
Sure can't wait for anyone using this to be banned practically instantly.

~~~
bios-marcel
Well, that's why I put a warning in the readme. However, I've been using this
for 7+ months or so?

------
rocky1138
I'm more interested in a server side reimplementation than a new client. When
discord goes out of business I don't want to lose everything so I want to be
able to redirect discord requests to my own server.

~~~
SpaceManiac
In this scenario you'd be losing all your backlogs and user registrations
anyways, so why re-use the existing client with a stapled-on redirector over
switching to something you can actually deploy yourself?

~~~
rocky1138
The client is actually pretty good, so we could continue using that and I
believe that for popular discords with lots of fans it wouldn't be the end of
the world to have them re-register if everyone knew the alternative is losing
the community.

