mirror of
https://github.com/idanoo/go-mastodon-stats
synced 2025-07-03 06:42:19 +00:00
Test mastodon posting
This commit is contained in:
parent
aec56e7352
commit
3aeff25285
8 changed files with 78 additions and 2 deletions
|
@ -1 +1,43 @@
|
|||
package gomastodonstats
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/mattn/go-mastodon"
|
||||
)
|
||||
|
||||
func postToMastodon(metrics []metric) {
|
||||
if MASTODON_INSTANCE_URL == "" {
|
||||
log.Printf("Skipping posting to mastodon. Missing configuration")
|
||||
return
|
||||
}
|
||||
|
||||
c := mastodon.NewClient(&mastodon.Config{
|
||||
Server: fmt.Sprintf("https://%s", MASTODON_INSTANCE_URL),
|
||||
ClientID: "client-id",
|
||||
ClientSecret: "client-secret",
|
||||
})
|
||||
err := c.Authenticate(context.Background(), MASTODON_USERNAME, MASTODON_PASSWORD)
|
||||
if err != nil {
|
||||
log.Println("Invalid mastodon credentials")
|
||||
return
|
||||
}
|
||||
|
||||
// Build status
|
||||
startOfDay := getStartofDay()
|
||||
msg := fmt.Sprintf("Stats for %s\n\n", startOfDay.String())
|
||||
for _, m := range metrics {
|
||||
msg = msg + getPrintableString(m) + "\n"
|
||||
}
|
||||
|
||||
toot := mastodon.Toot{
|
||||
Status: msg,
|
||||
}
|
||||
|
||||
_, err = c.PostStatus(context.Background(), &toot)
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue