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