Mastodon support

This commit is contained in:
2022-11-04 06:45:20 +00:00
parent b542fcf901
commit 97c9006fef
7 changed files with 95 additions and 4 deletions

29
mastodon/mastodon.go Normal file
View File

@ -0,0 +1,29 @@
package mastodon
import (
"context"
"log"
"github.com/mattn/go-mastodon"
)
type Mastodon struct {
client *mastodon.Client
}
func NewMastodon(server string, clientID string, clientSecret string, username string, password string) *Mastodon {
m := &Mastodon{}
m.client = mastodon.NewClient(&mastodon.Config{
Server: server,
ClientID: clientID,
ClientSecret: clientSecret,
})
err := m.client.Authenticate(context.Background(), username, password)
if err != nil {
log.Print("Failed to configure Mastodon: ", err)
return nil
}
return m
}

14
mastodon/toot.go Normal file
View File

@ -0,0 +1,14 @@
package mastodon
import (
"context"
"github.com/mattn/go-mastodon"
)
func (m *Mastodon) Toot(message string) error {
_, err := m.client.PostStatus(context.Background(), &mastodon.Toot{
Status: message,
})
return err
}