DB640/tools/sendmsg/main.go

67 lines
1.5 KiB
Go
Raw Permalink Normal View History

package main
import (
"bufio"
"flag"
"io/ioutil"
"log"
"os"
"git.1750studios.com/ToddShepard/DB640/internal/config"
"git.1750studios.com/ToddShepard/DB640/internal/database"
"git.1750studios.com/ToddShepard/DB640/internal/telegram"
)
func main() {
msg := flag.String("m", "", "Specifies the message to send")
file := flag.String("f", "", "Specifies the file of the message to send")
cfg := flag.String("c", "", "Config file")
flag.Parse()
if *cfg == "" {
log.Fatalf("Config file must not be empty!")
}
if *msg == "" && *file == "" {
log.Fatalf("Message (or file) must not be empty!")
}
if *msg != "" && *file != "" {
log.Fatalf("Only use message or file!")
}
err := config.LoadConfig(*cfg)
if err != nil {
log.Fatalf("Config error: %+v", err)
}
err = database.Open(config.C.Database.Dialect, config.C.Database.Connection)
if err != nil {
log.Fatalf("Could not establish database connection: %+v", err)
}
log.Printf("[DATABASE] Connection established\n")
err = telegram.Init()
if err != nil {
log.Fatalf("Could not establish telegram connection: %+v", err)
}
log.Printf("[TELEGRAM] Connection established\n")
if *msg != "" {
telegram.SendAll(*msg)
} else {
var reader *bufio.Reader
if *file == "-" {
reader = bufio.NewReader(os.Stdin)
} else {
file, err := os.Open(*file)
if err != nil {
log.Fatalf("File error: %+v", err)
}
reader = bufio.NewReader(file)
}
bytes, err := ioutil.ReadAll(reader)
if err != nil {
log.Fatalf("ReadAll error: %+v", err)
}
telegram.SendAll(string(bytes))
}
}