package main import ( "bytes" "context" "encoding/json" "fmt" "io/ioutil" "net/http" "os" "golang.org/x/oauth2" "go.fixergrid.net/servicedemon/pkg/discord" ) func main() { fmt.Println("Starting .... the >HUB<") token, isSet := os.LookupEnv("DISCORD_BOT_TOKEN") if !isSet { fmt.Println("please set the environment variable 'DISCORD_BOT_TOKEN'") return } tokensrc := oauth2.StaticTokenSource(&oauth2.Token{ AccessToken: token, TokenType: "Bot", }) ctx := context.Background() client := discord. NewClient(ctx, tokensrc). WithDefaultChannel("1125162127133523978") resp, err := client.Get("https://discord.com/api/v10/channels/1125162127133523978") if err != nil { fmt.Printf("there was an error making the request: %v\n", err) return } out, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Printf("failed to read response body: %v\n", err) return } fmt.Printf("Got response:\n%s\n", out) messageContent := map[string]interface{}{ "content": "Hello, world!", } b, err := json.Marshal(messageContent) if err != nil { fmt.Printf("failed to marshal message: %v\n", err) return } r2, err := client.Post("https://discord.com/api/v10/channels/1125162127133523978/messages", "application/json", bytes.NewReader(b)) if err != nil { fmt.Printf("failed tdo send message to server: %v\n", err) return } out, err = ioutil.ReadAll(r2.Body) if err != nil { fmt.Printf("failed to read response body on send message: %v\n", err) return } fmt.Printf("status: %v - res: %v\n", r2.Status, out) }