some fixes

This commit is contained in:
2026-01-29 12:08:28 +03:00
parent 6970c37c6b
commit 0921d306fd
3 changed files with 15 additions and 12 deletions

12
bot.go
View File

@@ -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 {

View File

@@ -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
}

View File

@@ -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) {