/* * @Author: Bartuccio Antoine * @Date: 2018-07-23 15:24:22 * @Last Modified by: klmp200 * @Last Modified time: 2018-07-25 14:31:13 */ package main import ( "./commands" "./plugin_manager" "./settings" "./shared" tb "gopkg.in/tucnak/telebot.v2" "log" "time" ) func main() { registered_commands := 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, } 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("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 registered_commands { b.Handle(key, value) } plugin_manager.Init("plugin", b) b.Handle(tb.OnText, plugin_manager.HandleMessage) plugin_manager.StartPlugins() log.Println("Starting bot") b.Start() }