35 lines
1.8 KiB
Go
35 lines
1.8 KiB
Go
package bot
|
|
|
|
import (
|
|
"github.com/celestix/gotgproto/dispatcher"
|
|
"github.com/celestix/gotgproto/dispatcher/handlers"
|
|
"github.com/celestix/gotgproto/dispatcher/handlers/filters"
|
|
"github.com/krau/SaveAny-Bot/common"
|
|
)
|
|
|
|
func RegisterHandlers(dispatcher dispatcher.Dispatcher) {
|
|
dispatcher.AddHandler(handlers.NewMessage(filters.Message.All, checkPermission))
|
|
dispatcher.AddHandler(handlers.NewCommand("start", start))
|
|
dispatcher.AddHandler(handlers.NewCommand("help", help))
|
|
dispatcher.AddHandler(handlers.NewCommand("silent", silent))
|
|
dispatcher.AddHandler(handlers.NewCommand("storage", storageCmd))
|
|
dispatcher.AddHandler(handlers.NewCommand("save", saveCmd))
|
|
dispatcher.AddHandler(handlers.NewCommand("dir", dirCmd))
|
|
dispatcher.AddHandler(handlers.NewCommand("rule", ruleCmd))
|
|
linkRegexFilter, err := filters.Message.Regex(linkRegexString)
|
|
if err != nil {
|
|
common.Log.Panicf("创建正则表达式过滤器失败: %s", err)
|
|
}
|
|
dispatcher.AddHandler(handlers.NewMessage(linkRegexFilter, handleLinkMessage))
|
|
telegraphUrlRegexFilter, err := filters.Message.Regex(TelegraphUrlRegexString)
|
|
if err != nil {
|
|
common.Log.Panicf("创建 Telegraph URL 正则表达式过滤器失败: %s", err)
|
|
}
|
|
dispatcher.AddHandler(handlers.NewMessage(telegraphUrlRegexFilter, handleTelegraph))
|
|
dispatcher.AddHandler(handlers.NewCallbackQuery(filters.CallbackQuery.Prefix("add"), AddToQueue))
|
|
dispatcher.AddHandler(handlers.NewCallbackQuery(filters.CallbackQuery.Prefix("set_default"), setDefaultStorage))
|
|
dispatcher.AddHandler(handlers.NewCallbackQuery(filters.CallbackQuery.Prefix("cancel"), cancelTask))
|
|
dispatcher.AddHandler(handlers.NewCallbackQuery(filters.CallbackQuery.Prefix("send_here"), sendFileToTelegram))
|
|
dispatcher.AddHandler(handlers.NewMessage(filters.Message.Media, handleFileMessage))
|
|
}
|