67 lines
1.5 KiB
Go
67 lines
1.5 KiB
Go
|
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))
|
||
|
}
|
||
|
}
|