mirror of
https://github.com/mautrix/discord.git
synced 2026-11-11 00:29:16 -05:00
| Filename | Latest commit message | Latest commit date |
|---|---|---|
A cancel from the Discord app closed the client without an error, so the login went on to validate an empty token and told the user Discord had rejected their token. Return a cancel error, and refuse to finish a QR login that ended without a token. |
||
| .. | ||
| client.go | ||
| clientpackets.go | ||
| README.md | ||
| serverpackets.go | ||
| user.go | ||
Discord Remote Authentication
This library implements the desktop side of Discord's remote authentication protocol.
It is completely based off of the Unofficial Discord API Documentation.
Example
package main
import (
"context"
"fmt"
"github.com/skip2/go-qrcode"
)
func main() {
client, err := New()
if err != nil {
fmt.Printf("error: %v\n", err)
return
}
ctx := context.Background()
qrChan := make(chan *qrcode.QRCode)
go func() {
qrCode := <-qrChan
fmt.Println(qrCode.ToSmallString(true))
}()
doneChan := make(chan struct{})
if err := client.Dial(ctx, qrChan, doneChan); err != nil {
close(qrChan)
close(doneChan)
fmt.Printf("dial error: %v\n", err)
return
}
<-doneChan
user, err := client.Result()
fmt.Printf("user: %q\n", user)
fmt.Printf("err: %v\n", err)
}