Skip to content

Commit 35394c0

Browse files
committed
delete sent message after x minutes
1 parent 9500464 commit 35394c0

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

app/services/telegram_botter.rb

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,15 @@ def handle_markspam_command(bot, message)
160160
else
161161
response_message = I18n.t("telegram_bot.markspam.success_message", banned_user_name: banned_user_name, user_id: replied.from.id)
162162
end
163-
bot.api.send_message(chat_id: message.chat.id, text: response_message, parse_mode: "Markdown")
163+
164+
sent_message = bot.api.send_message(chat_id: message.chat.id, text: response_message, parse_mode: "Markdown")
165+
# 5. Schedule a background job to delete the message
166+
# to avoid polluting the group chat
167+
delete_message_delay = Rails.application.config.delete_message_delay
168+
TelegramBackgroundWorkerJob.set(wait: delete_message_delay.minutes).perform_later(
169+
action: PostAction::DELETE_ALERT_MESSAGE,
170+
chat_id: sent_message.chat.id,
171+
message_id: sent_message.message_id)
164172
rescue => e
165173
Rails.logger.error "Error in markspam command: #{e.message}"
166174
bot.api.send_message(chat_id: message.chat.id, text: I18n.t("telegram_bot.markspam.failure_message"))

config/environments/development.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,7 @@
7777
# config.generators.apply_rubocop_autocorrect_after_generate!
7878

7979
config.probability_threshold = 0.95
80+
81+
# Delete the warning message in x minutes to keep chat clean
82+
config.delete_message_delay = 1
8083
end

0 commit comments

Comments
 (0)