From ddd5eafe4ee03c0e0948bb26a2f3120cf6b1dff3 Mon Sep 17 00:00:00 2001 From: Astra Date: Tue, 24 Mar 2026 06:43:44 +0000 Subject: [PATCH] Fix /badword add/rem truncating multi-word phrases --- bot.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bot.go b/bot.go index a98a62c..0d93333 100644 --- a/bot.go +++ b/bot.go @@ -213,7 +213,7 @@ func handleOwnerCommand(ctx context.Context, api *tg.Client, state *BotState, al return } - parts := strings.Fields(text) + parts := strings.SplitN(text, " ", 3) if len(parts) < 2 { sendAdminReply(ctx, api, alertPeer, "Usage: /badword [word]") return @@ -248,7 +248,7 @@ func handleOwnerCommand(ctx context.Context, api *tg.Client, state *BotState, al sendAdminReply(ctx, api, alertPeer, "Usage: /badword add ") return } - word := parts[2] + word := strings.TrimSpace(parts[2]) for _, w := range state.cfg.BadWords { if strings.EqualFold(w, word) { sendAdminReply(ctx, api, alertPeer, fmt.Sprintf("Word %q already exists.", word)) @@ -273,7 +273,7 @@ func handleOwnerCommand(ctx context.Context, api *tg.Client, state *BotState, al sendAdminReply(ctx, api, alertPeer, "Usage: /badword rem ") return } - word := parts[2] + word := strings.TrimSpace(parts[2]) newWords := make([]string, 0, len(state.cfg.BadWords)) found := false for _, w := range state.cfg.BadWords {