Tulir Asokan 704bdaefd7 Update to remote auth v2 2 anos atrás
..
README.md bd03e80b52 Add pre-commit with CI and issue templates 3 anos atrás
client.go 704bdaefd7 Update to remote auth v2 2 anos atrás
clientpackets.go 2055d32da8 Run gofmt 2 anos atrás
serverpackets.go 704bdaefd7 Update to remote auth v2 2 anos atrás
user.go 94104102d2 Initial discord remote auth support. 3 anos atrás

README.md

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)
}