Handle registering the app

This commit is contained in:
idanoo 2023-01-30 12:04:50 +13:00
parent 7e82fd4eb6
commit a2761fac3e
Signed by: idanoo
GPG key ID: 387387CDBC02F132
2 changed files with 23 additions and 4 deletions

View file

@ -17,7 +17,7 @@ var (
MASTODON_INSTANCE_URL string
MASTODON_USERNAME string
MASTODON_PASSWORD string
MASTODON_CLIENT_NAME = "go-mastodon-stats"
// UserCount metric name
METRICNAME_USERCOUNT = "userCount"

View file

@ -8,18 +8,37 @@ import (
"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
}
return app.ClientID, app.ClientSecret, nil
}
func postToMastodon(metrics []metric) {
if MASTODON_INSTANCE_URL == "" {
log.Printf("Skipping posting to mastodon. Missing configuration")
return
}
clientId, clientSecret, err := registerApp()
if err != nil {
log.Print(err)
return
}
c := mastodon.NewClient(&mastodon.Config{
Server: fmt.Sprintf("https://%s", MASTODON_INSTANCE_URL),
ClientID: "go-mastodon-stats",
ClientSecret: "randomgeneratedstringthatimnotsureisneeded",
ClientID: clientId,
ClientSecret: clientSecret,
})
err := c.Authenticate(context.Background(), MASTODON_USERNAME, MASTODON_PASSWORD)
err = c.Authenticate(context.Background(), MASTODON_USERNAME, MASTODON_PASSWORD)
if err != nil {
log.Println("Invalid mastodon credentials?")
log.Print(err)