123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package main
- import (
- "fmt"
- "log"
- "bufio"
- "os"
- "time"
- tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api"
- _ "GoEthemineTelegramBot/ethermineapi"
- )
- var (
- appSettings Settings
- dBConnector Connection
- myBotClient tgbotapi.BotAPI
- LogInfo *log.Logger
- LogWarn *log.Logger
- LogError *log.Logger
- LogDebug *log.Logger
- )
- func main() {
- appSettings.LoadFromFile("config.json")
- LoggersInit()
- LogInfo.Println("App started")
- botClient, err := tgbotapi.NewBotAPI(appSettings.Token)
- if err != nil {
- LogError.Panic(err)
- }
- myBotClient = *botClient
- var me = botClient.Self
- LogInfo.Printf("Hello, World! I am user %d and my name is %s.\n", me.ID, me.FirstName)
- if len(os.Args[1:]) >= 2 {
- appSettings.DbUser = os.Args[1]
- appSettings.DbPassword = os.Args[2]
- } else {
- fmt.Print("DataBase Username:")
- _, err := fmt.Scanln(&appSettings.DbUser)
- if err != nil {
- LogError.Panic(os.Stderr, err)
- return
- }
- fmt.Print("DataBase Password:")
- _, err = fmt.Scanln(&appSettings.DbPassword)
- if err != nil {
- LogError.Panic(os.Stderr, err)
- return
- }
- }
- dBConnector.Init()
- go Updater()
- go Listener(botClient)
- fmt.Println("Press Enter to exit")
- reader := bufio.NewReader(os.Stdin)
- reader.ReadString('\n')
- }
- // Listens for comming messages.
- func Listener(botClient *tgbotapi.BotAPI) {
- u := tgbotapi.NewUpdate(0)
- u.Timeout = 60
- updates, _ := botClient.GetUpdatesChan(u)
- for update := range updates {
- // Ignore any non-Message Updates
- if update.Message == nil {
- continue
- }
- go HandleMessage(update.Message, botClient)
- }
- }
- // Starts DataUpdater goroutine every 4 minutes
- func Updater() {
- LogInfo.Println("Scheduler started!")
- for {
- go dBConnector.UpdateData()
- time.Sleep(4 * time.Minute)
- }
- }
|