lucky-tgbot/main.go

55 lines
1.1 KiB
Go
Raw Normal View History

2025-01-22 17:26:32 +08:00
package main
import (
"log"
"math/rand"
2025-01-22 17:26:32 +08:00
"os"
"strings"
"time"
"github.com/realSunyz/lucky-tgbot/plugin/info"
"github.com/realSunyz/lucky-tgbot/plugin/reborn"
"github.com/realSunyz/lucky-tgbot/plugin/slash"
"github.com/realSunyz/lucky-tgbot/plugin/torf"
2025-01-22 17:26:32 +08:00
tele "gopkg.in/telebot.v3"
)
func main() {
pref := tele.Settings{
2025-01-22 17:47:51 +08:00
Token: os.Getenv("TOKEN"),
2025-01-22 17:26:32 +08:00
Poller: &tele.LongPoller{Timeout: 10 * time.Second},
}
b, err := tele.NewBot(pref)
if err != nil {
log.Fatal("Error creating bot: ", err)
return
}
rebornData, err := reborn.InitRebornList("plugin/reborn/countries.json")
if err != nil {
log.Fatal("Error initializing rebornData: ", err)
}
source := rand.NewSource(time.Now().UnixNano())
r := rand.New(source)
b.Handle("/info", info.Execute)
2025-01-22 17:26:32 +08:00
b.Handle("/reborn", func(c tele.Context) error {
return reborn.Execute(c, r, rebornData)
2025-01-22 17:26:32 +08:00
})
2025-01-22 17:26:32 +08:00
b.Handle(tele.OnText, func(c tele.Context) error {
inputText := c.Text()
if strings.HasPrefix(inputText, "/") {
return slash.Execute(c)
} else {
return torf.Execute(c, r)
2025-01-22 17:26:32 +08:00
}
})
b.Start()
}