Post weekly instead

This commit is contained in:
idanoo 2023-01-30 12:38:28 +13:00
parent f2c7022469
commit 5a884fe3d9
Signed by: idanoo
GPG key ID: 387387CDBC02F132
3 changed files with 12 additions and 28 deletions

View file

@ -24,6 +24,15 @@ var (
// UserCount metric name
METRICNAME_USERCOUNT = "userCount"
// This is hardcoded because.. well configs are annoying
SERVICE_LINKS = map[string]string{
PIXELFED_IDENTIFIER: "https://pixelfed.nz",
MATRIX_IDENTIFIDER: "https://mtrx.nz",
MASTODON_IDENTIFIER: "https://mastodon.nz",
MOBILIZON_IDENTIFIER: "https://openevents.nz",
PEERTUBE_IDENTIFIER: "https//peertube.nz",
}
// Pixelfed
PIXELFED_DB_SCHEMA string
PIXELFED_USER_QUERY = "SELECT count(*) FROM users WHERE status IS NULL;"

View file

@ -4,29 +4,10 @@ import (
"context"
"fmt"
"log"
"os"
"github.com/mattn/go-mastodon"
)
func doTheRegisterThing() {
srv, err := mastodon.RegisterApp(context.Background(), &mastodon.AppConfig{
Server: fmt.Sprintf("https://%s", MASTODON_INSTANCE_URL),
ClientName: MASTODON_CLIENT_NAME,
Scopes: "read write follow",
RedirectURIs: "urn:ietf:wg:oauth:2.0:oob",
Website: "https://github.com/mattn/go-mastodon",
})
if err != nil {
log.Fatal("Couldn't register the app. Error: %v\n\nExiting...\n", err)
}
log.Println(
"Pls open this link: %s\n\n" + srv.AuthURI +
"When completeAdd this to your config under MASTODON_TOKEN and rerun the app")
os.Exit(0)
}
func postToMastodon(metrics []metric) {
if MASTODON_INSTANCE_URL == "" {
log.Printf("Skipping posting to mastodon. Missing configuration")
@ -46,11 +27,11 @@ func postToMastodon(metrics []metric) {
// Build status
startOfDay := getStartofDay()
msg := fmt.Sprintf("User counts for %s :laserkiwi:\n\n", startOfDay.String())
msg := fmt.Sprintf("Weekly user counts @ %s :laserkiwi:\n\n", startOfDay.String())
for _, m := range metrics {
msg = msg + getPrintableString(m) + "\n"
}
msg = msg + "\n\n" + "#DailyStats"
msg = msg + "\n\n" + "#WeeklyStats"
toot := &mastodon.Toot{
Status: msg,

View file

@ -4,9 +4,6 @@ import (
"fmt"
"log"
"time"
"golang.org/x/text/cases"
"golang.org/x/text/language"
)
// Stores out metric/row data
@ -117,8 +114,5 @@ func getUserCounts() ([]metric, error) {
}
func getPrintableString(m metric) string {
caser := cases.Title(language.English)
titleStr := caser.String(m.Service)
return fmt.Sprintf("%s: %d", titleStr, m.MetricValue)
return fmt.Sprintf("%s: %d", SERVICE_LINKS[m.Service], m.MetricValue)
}