ALFRED/alfred.go

61 lines
1.2 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-24 00:34:55 +00:00
* @Last Modified time: 2018-07-24 02:33:57
2018-07-23 14:59:39 +00:00
*/
package main
import (
"./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"
2018-07-24 00:34:55 +00:00
"strings"
2018-07-23 14:59:39 +00:00
"time"
)
func main() {
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")
shared.InitHistory(int(settings.Settings["history size"].(float64)))
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
}
b.Handle("/hello", func(m *tb.Message) {
2018-07-23 15:26:15 +00:00
b.Send(m.Chat, "Bonjour "+m.Sender.Username)
2018-07-23 14:59:39 +00:00
})
2018-07-24 00:28:45 +00:00
b.Handle(tb.OnText, func(m *tb.Message) {
shared.History.AddMessage(m.Chat.ID, m.Text)
})
2018-07-24 00:34:55 +00:00
b.Handle("/sponge", func(m *tb.Message) {
message := ""
for i, char := range shared.History.LastMessage(m.Chat.ID) {
if i%2 == 0 {
message += strings.ToLower(string(char))
} else {
message += strings.ToUpper(string(char))
}
}
b.Send(m.Chat, message)
})
2018-07-23 14:59:39 +00:00
log.Println("Starting bot")
b.Start()
}