Skip to content

henesy/disco

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

disco: Discord client for 9front

Fork of theboxmage's discord-cli.

Ndb config is in $home/lib/disco.ndb for setting password, should be made automatically after first run. Alternatively, you may use factotum.

Install

Dependencies

  • 9fans.net/go/plan9
  • github.com/Plan9-Archive/libauth
  • github.com/mischief/ndb
  • golang.org/x/crypto
  • github.com/gorilla/websocket
  • github.com/bwmarrin/discordgo

Installation

% go get github.com/henesy/disco

Usage

% disco -h
Usage of disco:
  -n	Enable notifications
  -t	Hide timestamps in channel log
  -w string
    	Dimensions to pass through to statusmsg (default "10,10,260,90")

Commands

Commands available in chat:

Command Function
:q Quits disco
:g Change listening Guild
:c [n ?] Change listening Channel inside Guild, or list channels
:m [n] Display last [n] messages: ex. :m 2 displays last two messages
:p Pulls up the private channel menu
:n name Change nickname to name
:! Print current server information
:? List the available commands

You can regex the last message sent using a format such as:

s/forsynth/forsyth/

Config

A basic $home/lib/disco.ndb looks something like:

auth=pass
loadbacklog=true
messages=10
promptchar=→
timestampchar=>

[email protected]	password=somepassword1

Note that the auth= tuple accepts

auth=factotum

for authentication using a factotum key and will ignore the password= tuple.

If used, the factotum key should resemble something to the effect of:

proto=pass server=discordapp.com service=discord [email protected] !password=hunter2

Notes

If you can connect to a channel and see messages, but yours aren't sending, check to make sure your e-mail address is verified.

FAQ

Q: What if go get doesn't work?

A: If you want to use go get on 9front to install disco and its dependencies (recommended) you should use driusan's dgit as git. Alternatively, on 9front specifically, you can wrap Ori's git9.

Q: What if I can't login because of a captcha error?

A: You'll need to sign in to Discord via the web app (thus solving a captcha) using a browser with html5/js. I recommend an http proxy such as this in conjunction with a system with such a browser..

Q: What if I get an error about signing in from a new location?

A: Discord has sent you an e-mail with a location confirmation link, click it, no js should be required.

Problems

  • Does not create accounts for you, this still needs to be done in a browser/app
  • Does not support 2FA (Discord API explicitly does not allow this)