ALFRED/alfred.go

69 lines
1.5 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 01:07:13 +00:00
* @Last Modified time: 2018-07-24 03:05:51
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-24 01:07:13 +00:00
b.Handle("/git", func(m *tb.Message) {
b.Send(m.Chat, "Mon code est accessible librement à l'adresse https://git.klmp200.net/ALFRED/ALFRED. Venez contribuer :)")
})
b.Handle("/framapad", func(m *tb.Message) {
b.Send(m.Chat, "Venez participer à mon développement en posant vos idées ici : https://mensuel.framapad.org/p/ALFRED2LERETOUR.")
})
2018-07-23 14:59:39 +00:00
log.Println("Starting bot")
b.Start()
}