Compare commits

..

2 Commits

2 changed files with 16 additions and 8 deletions

View File

@@ -188,9 +188,12 @@ COMMAND_MESSAGES = {
" Ответьте на сообщение: <code>/karma</code>\n\n"
"<b>💡 Как начислить карму?</b>\n"
"Ответьте на сообщение пользователя словами благодарности:\n"
"• спасибо\n"
"• благодарю\n"
"• спс, сенкс, thanks и др.\n\n"
"• спасибо → +1 карма\n"
"• благодарю → +1 карма\n"
"• спс, сенкс, thanks и др. → +1 карма\n\n"
"<b>🔥 БОНУС: Благодарность с восклицательным знаком даёт x2 кармы!</b>\n"
"• спасибо! → +2 кармы 👍👍\n"
"• thanks! → +2 кармы 👍👍\n\n"
"<i>⏱ Одному пользователю можно давать карму раз в час</i>"
),
'top_karma_help': (

View File

@@ -61,8 +61,11 @@ def register_handlers(bot: AsyncTeleBot):
# Молча игнорируем, чтобы не спамить
return
# Определяем количество кармы: x2 если есть восклицательный знак
karma_amount = 2 if '!' in message.text else 1
# Начисляем карму (благодарность уже записана атомарно выше)
db.add_karma(to_user.id, chat_id, 1)
db.add_karma(to_user.id, chat_id, karma_amount)
# Получаем новую карму пользователя
new_karma = db.get_karma(to_user.id, chat_id)
@@ -74,15 +77,17 @@ def register_handlers(bot: AsyncTeleBot):
else:
to_user_display = to_user_name
# Отправляем уведомление
response = f"👍 Карма пользователя {to_user_display} увеличена! Текущая карма: {new_karma}"
# Отправляем уведомление с указанием количества кармы
karma_emoji = "👍👍" if karma_amount == 2 else "👍"
karma_change = f"+{karma_amount}"
response = f"{karma_emoji} Карма пользователя {to_user_display} увеличена ({karma_change})! Текущая карма: {new_karma}"
sent_message = await bot.reply_to(message, response)
logger.info(f"Пользователь {from_user.id} поблагодарил {to_user.id}, карма: {new_karma}")
# Удаляем уведомление через 5 секунд
await asyncio.sleep(5)
# Удаляем уведомление через 25 секунд
await asyncio.sleep(25)
try:
await bot.delete_message(chat_id, sent_message.message_id)
except Exception as e: