Use as client

This commit is contained in:
idanoo 2023-01-30 12:10:58 +13:00
parent 5c1da4a904
commit 97caf4bc37
Signed by: idanoo
GPG key ID: 387387CDBC02F132

View file

@ -8,41 +8,19 @@ import (
"github.com/mattn/go-mastodon" "github.com/mattn/go-mastodon"
) )
func registerApp() (string, string, error) {
app, err := mastodon.RegisterApp(context.Background(), &mastodon.AppConfig{
Server: fmt.Sprintf("https://%s", MASTODON_INSTANCE_URL),
ClientName: MASTODON_CLIENT_NAME,
Scopes: "read write follow",
Website: "https://github.com/mattn/go-mastodon",
})
if err != nil {
return "", "", err
}
fmt.Printf("client-id : %s\n", app.ClientID)
fmt.Printf("client-secret: %s\n", app.ClientSecret)
return app.ClientID, app.ClientSecret, nil
}
func postToMastodon(metrics []metric) { func postToMastodon(metrics []metric) {
if MASTODON_INSTANCE_URL == "" { if MASTODON_INSTANCE_URL == "" {
log.Printf("Skipping posting to mastodon. Missing configuration") log.Printf("Skipping posting to mastodon. Missing configuration")
return return
} }
clientId, clientSecret, err := registerApp()
if err != nil {
log.Print(err)
return
}
c := mastodon.NewClient(&mastodon.Config{ c := mastodon.NewClient(&mastodon.Config{
Server: fmt.Sprintf("https://%s", MASTODON_INSTANCE_URL), Server: fmt.Sprintf("https://%s", MASTODON_INSTANCE_URL),
ClientID: clientId, ClientID: MASTODON_CLIENT_NAME,
ClientSecret: clientSecret, ClientSecret: "random-secret-that-doesnt-really-matter-lol",
}) })
err = c.Authenticate(context.Background(), MASTODON_USERNAME, MASTODON_PASSWORD)
err := c.Authenticate(context.Background(), MASTODON_USERNAME, MASTODON_PASSWORD)
if err != nil { if err != nil {
log.Println("Invalid mastodon credentials?") log.Println("Invalid mastodon credentials?")
log.Print(err) log.Print(err)
@ -57,11 +35,11 @@ func postToMastodon(metrics []metric) {
} }
msg = msg + "\n\n" + "#Stats" msg = msg + "\n\n" + "#Stats"
toot := mastodon.Toot{ toot := &mastodon.Toot{
Status: msg, Status: msg,
} }
_, err = c.PostStatus(context.Background(), &toot) _, err = c.PostStatus(context.Background(), toot)
if err != nil { if err != nil {
log.Print(err) log.Print(err)
} }