/* * @Author: Bartuccio Antoine * @Date: 2018-07-23 15:24:22 * @Last Modified by: Bartuccio Antoine * @Last Modified time: 2019-01-05 17:47:10 */ package main import ( "log" "time" "git.klmp200.net/ALFRED/ALFRED/commands" "git.klmp200.net/ALFRED/ALFRED/settings" "git.klmp200.net/ALFRED/ALFRED/shared" tb "gopkg.in/tucnak/telebot.v2" ) func main() { registeredCommands := map[string]func(*tb.Message){ tb.OnText: commands.OnText, "/registerprivate": commands.RegisterPrivate, "/unregisterprivate": commands.UnRegisterPrivate, "/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, "/subscribe": commands.Subscribe, "/unsubscribe": commands.Unsubscribe, "/listsubscribers": commands.ListSubscribers, "/publish": commands.Publish, "/unpublish": commands.Unpublish, "/retrieve": commands.Retrieve, "/toggleupdates": commands.ToggleUpdates, } 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("Starting bot") b.Start() }