wikitil/cmd/main.go

70 lines
1.1 KiB
Go
Raw Normal View History

2021-11-22 16:51:03 +00:00
package main
import (
"log"
"time"
. "wikitil/internal/config"
"wikitil/internal/twitter"
"wikitil/internal/wikipedia"
2021-11-22 16:51:03 +00:00
)
const configPath = "config.json"
const accessConfigPath = "access.json"
func getAccessConfig(config Config) AccessConfig {
accessConfig, err := ReadAccessConfig(accessConfigPath)
if err == nil {
return accessConfig
}
log.Println("no access config found")
accessConfig, err = twitter.Login(config)
if err != nil {
log.Fatalln(err)
}
err = WriteAccessConfig(accessConfigPath, accessConfig)
if err != nil {
log.Fatalln(err)
}
accessConfig, err = ReadAccessConfig(accessConfigPath)
if err != nil {
log.Fatalln(err)
}
return accessConfig
}
func main() {
config, err := ReadConfig(configPath)
if err != nil {
log.Fatalln(err)
}
access := getAccessConfig(config)
twitter.Init(config, access)
2021-11-22 17:20:31 +00:00
postArticle(config)
for range time.Tick(time.Hour * 24) {
2021-11-22 16:51:03 +00:00
log.Println("tick")
2021-11-22 17:20:31 +00:00
postArticle(config)
}
}
2021-11-22 16:51:03 +00:00
2021-11-22 17:20:31 +00:00
func postArticle(config Config) {
page, err := wikipedia.Get(config)
if err != nil {
log.Println(err)
return
}
err = twitter.Tweet(wikipedia.Format(page))
if err != nil {
log.Println(err)
return
2021-11-22 16:51:03 +00:00
}
}