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)) } }