diff --git a/handlers/admin.go b/handlers/admin.go index d25d57e..982f3e5 100644 --- a/handlers/admin.go +++ b/handlers/admin.go @@ -96,5 +96,24 @@ func (bot *Bot) HandleAdminCommands(update *api.Update) { bot.Config.EntryMessage, bot.Config.ApprovalMessage, )) + + case "edit": + if update.Message.ReplyToMessage == nil { + utils.SendMessage(bot.API, update.Message.Chat.ID, update.Message.MessageThreadID, + "Please reply to a message with /edit ") + return + } + + if update.Message.CommandArguments() == "" { + utils.SendMessage(bot.API, update.Message.Chat.ID, update.Message.MessageThreadID, + "Usage: /edit ") + return + } + + newText := update.Message.CommandArguments() + utils.EditMessage(bot.API, update.Message.Chat.ID, update.Message.ReplyToMessage.MessageID, newText) + + // Delete the admin's edit command message + bot.API.Send(api.NewDeleteMessage(update.Message.Chat.ID, update.Message.MessageID)) } }