some fixes
This commit is contained in:
12
bot.go
12
bot.go
@@ -30,8 +30,8 @@ type Bot struct {
|
||||
logger *slog.Logger
|
||||
requestLogger *slog.Logger
|
||||
|
||||
plugins []*Plugin
|
||||
middlewares []*Middleware
|
||||
plugins []Plugin
|
||||
middlewares []Middleware
|
||||
prefixes []string
|
||||
runners []Runner
|
||||
|
||||
@@ -75,7 +75,7 @@ func LoadPrefixesFromEnv() []string {
|
||||
func NewBot(settings *BotSettings) *Bot {
|
||||
updateQueue := CreateQueue[*Update](256)
|
||||
bot := &Bot{
|
||||
updateOffset: 0, plugins: make([]*Plugin, 0), debug: settings.Debug, errorTemplate: "%s",
|
||||
updateOffset: 0, plugins: make([]Plugin, 0), debug: settings.Debug, errorTemplate: "%s",
|
||||
prefixes: settings.Prefixes, updateTypes: make([]string, 0), runners: make([]Runner, 0),
|
||||
updateQueue: updateQueue,
|
||||
token: settings.Token,
|
||||
@@ -171,20 +171,20 @@ func (b *Bot) Debug(debug bool) *Bot {
|
||||
b.debug = debug
|
||||
return b
|
||||
}
|
||||
func (b *Bot) AddPlugins(plugin ...*Plugin) *Bot {
|
||||
func (b *Bot) AddPlugins(plugin ...Plugin) *Bot {
|
||||
b.plugins = append(b.plugins, plugin...)
|
||||
for _, p := range plugin {
|
||||
b.logger.Debugln(fmt.Sprintf("plugins with name \"%s\" registered", p.Name))
|
||||
}
|
||||
return b
|
||||
}
|
||||
func (b *Bot) AddMiddleware(middleware ...*Middleware) *Bot {
|
||||
func (b *Bot) AddMiddleware(middleware ...Middleware) *Bot {
|
||||
b.middlewares = append(b.middlewares, middleware...)
|
||||
for _, m := range middleware {
|
||||
b.logger.Debugln(fmt.Sprintf("middleware with name \"%s\" registered", m.Name))
|
||||
}
|
||||
|
||||
sort.Slice(&b.middlewares, func(i, j int) bool {
|
||||
sort.Slice(b.middlewares, func(i, j int) bool {
|
||||
first := b.middlewares[i]
|
||||
second := b.middlewares[j]
|
||||
if first.Order == second.Order {
|
||||
|
||||
10
methods.go
10
methods.go
@@ -130,7 +130,11 @@ type DeleteMessageP struct {
|
||||
MessageID int `json:"message_id"`
|
||||
}
|
||||
|
||||
func (b *Bot) DeleteMessage(params *DeleteMessageP) (*Message, error) {
|
||||
req := NewRequest[Message]("deleteMessage", params)
|
||||
return req.Do(b)
|
||||
func (b *Bot) DeleteMessage(params *DeleteMessageP) (bool, error) {
|
||||
req := NewRequest[bool]("deleteMessage", params)
|
||||
ok, err := req.Do(b)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return *ok, err
|
||||
}
|
||||
|
||||
@@ -45,17 +45,16 @@ func (p *PluginBuilder) UpdateListener(listener CommandExecutor) *PluginBuilder
|
||||
return p
|
||||
}
|
||||
|
||||
func (p *PluginBuilder) Build() *Plugin {
|
||||
func (p *PluginBuilder) Build() Plugin {
|
||||
if len(p.commands) == 0 && len(p.payloads) == 0 {
|
||||
log.Println("no command or payloads")
|
||||
}
|
||||
plugin := &Plugin{
|
||||
return Plugin{
|
||||
Name: p.name,
|
||||
Commands: p.commands,
|
||||
Payloads: p.payloads,
|
||||
UpdateListener: p.updateListener,
|
||||
}
|
||||
return plugin
|
||||
}
|
||||
|
||||
func (p *Plugin) Execute(cmd string, ctx *MsgContext, dbContext *DatabaseContext) {
|
||||
|
||||
Reference in New Issue
Block a user