ALFRED/alfred.go

61 lines
1.4 KiB
Go
Raw Normal View History

2018-07-23 14:59:39 +00:00
/*
* @Author: Bartuccio Antoine
* @Date: 2018-07-23 15:24:22
* @Last Modified by: klmp200
2018-07-26 20:22:34 +00:00
* @Last Modified time: 2018-07-26 18:59:19
2018-07-23 14:59:39 +00:00
*/
package main
import (
2018-07-24 09:59:36 +00:00
"./commands"
2018-07-23 14:59:39 +00:00
"./settings"
2018-07-24 00:28:45 +00:00
"./shared"
2018-07-23 14:59:39 +00:00
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,
2018-07-24 19:01:24 +00:00
"/roll": commands.Dice,
2018-07-25 20:52:12 +00:00
"/trump": commands.LastTrumpTweet,
2018-07-26 20:22:34 +00:00
"/trends": commands.TwitterTrends,
}
2018-07-23 17:25:35 +00:00
if err := settings.LoadSettings("settings.json", "settings_custom.json"); err != nil {
log.Fatal(err)
}
2018-07-23 14:59:39 +00:00
2018-07-24 00:28:45 +00:00
log.Println("Initialize history")
2018-07-24 10:57:31 +00:00
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))
2018-07-24 00:28:45 +00:00
2018-07-23 14:59:39 +00:00
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
}
2018-07-24 09:59:36 +00:00
shared.Bot = b
2018-07-23 14:59:39 +00:00
for key, value := range registered_commands {
b.Handle(key, value)
}
2018-07-24 01:07:13 +00:00
2018-07-23 14:59:39 +00:00
log.Println("Starting bot")
b.Start()
}