diff --git a/patches/0001-nuzzles.patch b/patches/0001-nuzzles.patch index 3c579df..2c99613 100644 --- a/patches/0001-nuzzles.patch +++ b/patches/0001-nuzzles.patch @@ -1,6 +1,6 @@ --- a/config/config.go +++ b/config/config.go -@@ -8,14 +8,15 @@ import ( +@@ -8,14 +8,15 @@ ) type Config struct { @@ -24,7 +24,7 @@ } func (c *Config) LoadConfig() error { -@@ -47,6 +48,7 @@ func (c *Config) CreateConfig() error { +@@ -47,6 +48,7 @@ ApprovalMessage: "", SendApprovalMessage: false, DeleteRequestAfterDecision: false, @@ -32,10 +32,9 @@ } encoder := yaml.NewEncoder(f) - --- a/handlers/callbacks.go +++ b/handlers/callbacks.go -@@ -36,6 +36,7 @@ func (bot *Bot) HandleCallbackQuery(query *api.CallbackQuery) { +@@ -36,6 +36,7 @@ switch action { case "approve": bot.handleApproveRequest(query, user, userString, adminUserString) @@ -43,7 +42,7 @@ case "decline": bot.handleDeclineRequest(query, user, userString, adminUserString) case "ban": -@@ -44,10 +45,19 @@ func (bot *Bot) HandleCallbackQuery(query *api.CallbackQuery) { +@@ -44,10 +45,19 @@ return case "banc": bot.handleBanRequest(query, user, userString, adminUserString) @@ -65,7 +64,7 @@ if bot.Config.DeleteRequestAfterDecision { go bot.scheduleMessageDeletion(query.Message.Chat.ID, query.Message.MessageID, 10*time.Second) } -@@ -93,14 +103,39 @@ func (bot *Bot) handleDeclineRequest(query *api.CallbackQuery, user *ExtendedCha +@@ -93,14 +103,39 @@ return } @@ -111,7 +110,7 @@ bot.API.Request(api.NewCallback(query.ID, "Join request declined.")) } -@@ -175,12 +210,14 @@ func (bot *Bot) HandleDeclineReason(update *api.Update) { +@@ -175,12 +210,14 @@ userID, username, joinReason, declinedBy, declinedAt := utils.GetInfoFromMsg(repliedMsg.Text) reason := utils.EscapeHTML(update.Message.Text) @@ -128,7 +127,7 @@ utils.EditMessage(bot.API, update.Message.Chat.ID, repliedMsg.MessageID, fmt.Sprintf(AdminDeclinedMsg, username, userID, joinReason, declinedBy, declinedAt, reason)) -@@ -188,6 +225,26 @@ func (bot *Bot) HandleDeclineReason(update *api.Update) { +@@ -188,6 +225,26 @@ bot.API.Send(api.NewDeleteMessage(update.Message.Chat.ID, update.Message.MessageID)) } @@ -155,10 +154,10 @@ // parseCallbackData parses the action and user ID from a callback query's data string. func parseCallbackData(data string) (action string, userID int64, err error) { normalized := strings.Join(strings.Split(data, "_"), " ") - ---- a/handlers/handlers.go -+++ b/handlers/handlers.go -@@ -13,7 +13,7 @@ const ( +--- a/handlers/handlers.go 2026-03-10 ++++ b/handlers/handlers.go 2026-03-11 + +@@ -13,7 +13,7 @@ AdminDeclinedMsg = "❌ Join #request declined for %s [%d]\n\nJoin reason: %s\nDeclined by: %s\nDeclined at: %s\nDeclined reason: %s" AdminBannedMsg = "🚫 Join #request banned for %s [%d]\n\nJoin reason: %s\nBanned by: %s\nBanned at: %s\nBanned until: %s" AdminFailedMsg = "⚠️ Join #request failed for %s [%d]\n\nJoin reason: %s\nFailure reason: %s" @@ -167,3 +166,15 @@ ) // Types shared by handler files +diff -ruN '--exclude=.git' '--exclude=.gitmodules' '--exclude=telegram-join-approval-bot' telegram-join-approval-bot/pkg/utils/utils.go telegram-join-approval-nuzzles/pkg/utils/utils.go +--- a/pkg/utils/utils.go 2026-03-10 ++++ b/pkg/utils/utils.go 2026-03-11 +@@ -38,7 +38,7 @@ + func NewApprovalKeyboard(userID int64) api.InlineKeyboardMarkup { + approveBtn := api.NewInlineKeyboardButtonData("Approve", fmt.Sprintf("approve_%d", userID)) + declineBtn := api.NewInlineKeyboardButtonData("Decline", fmt.Sprintf("decline_%d", userID)) +- banBtn := api.NewInlineKeyboardButtonData("Ban", fmt.Sprintf("ban_%d", userID)) ++ banBtn := api.NewInlineKeyboardButtonData("Ban (24h)", fmt.Sprintf("ban_%d", userID)) + return api.NewInlineKeyboardMarkup( + []api.InlineKeyboardButton{approveBtn, declineBtn}, + []api.InlineKeyboardButton{banBtn},