/* * @Author: Bartuccio Antoine * @Date: 2018-07-23 15:24:22 * @Last Modified by: klmp200 * @Last Modified time: 2018-11-14 00:33:00 */ package main import ( "log" "time" "./commands" "./settings" "./shared" tb "gopkg.in/tucnak/telebot.v2" ) func main() { registeredCommands := map[string]func(*tb.Message){ tb.OnText: commands.OnText, "/hello": commands.Hello, "/sponge": commands.Sponge, "/git": commands.Git, "/framapad": commands.Framapad, "/setgender": commands.SetGender, "/gender": commands.Gender, "/roll": commands.Dice, "/trump": commands.LastTrumpTweet, "/trends": commands.TwitterTrends, "/chaos": commands.TwitterSJW, "/apero": commands.AperoTime, "/quote": commands.Quote, "/save": commands.Save, "/getsaved": commands.GetSaved, } if err := settings.LoadSettings("settings.json", "settings_custom.json"); err != nil { log.Fatal(err) } log.Println("Initialize history") shared.InitHistory(int(settings.Settings["history size"].(float64)), settings.Settings["history file"].(string)) log.Println("Initialize users infos") shared.InitUsers(settings.Settings["users file"].(string)) log.Println("Initialize chat data") shared.InitChatData(settings.Settings["chat data file"].(string)) log.Println("Bot initialisation") b, err := tb.NewBot(tb.Settings{ Token: settings.Settings["token"].(string), Poller: &tb.LongPoller{Timeout: 10 * time.Second}, }) if err != nil { log.Fatal(err) return } shared.Bot = b for key, value := range registeredCommands { b.Handle(key, value) } log.Println("token : " + settings.Settings["token"].(string)) log.Println("Starting bot") b.Start() }