Добавление ещё нескольких эмодзи

This commit is contained in:
2025-10-19 14:54:46 +03:00
parent 1619e82df1
commit b7f09ae719
2 changed files with 57 additions and 5 deletions

View File

@@ -194,6 +194,9 @@ COMMAND_MESSAGES = {
"<u>Способ 2: Поставить реакцию (работает как переключатель)</u>\n"
"• Поставил 👍 → +1 карма | Убрал 👍 → -1 карма\n"
"• Поставил 👎 → -1 карма | Убрал 👎 → +1 карма\n"
"• Поставил 🔥 → +2 кармы | Убрал 🔥 → -2 кармы\n"
"• Поставил ❤ → +5 кармы | Убрал ❤ → -5 кармы\n"
"• Поставил ❤‍🔥 → +10 кармы | Убрал ❤‍🔥 → -10 кармы\n"
"• Нет ограничений по времени для реакций!\n\n"
"<b>🔥 БОНУС: Благодарность с восклицательным знаком даёт x2 кармы!</b>\n"
"• спасибо! → +2 кармы 👍👍\n"

View File

@@ -39,10 +39,11 @@ def register_handlers(bot: AsyncTeleBot):
"""
Обрабатывает реакции на сообщения.
Реакции работают как переключатель:
- Поставил 👍 → +1 карма
- Убрал 👍-1 карма
- Поставил 👎 → -1 карма
- Убрал 👎+1 карма
- Поставил 👍 → +1 карма | Убрал 👍 → -1 карма
- Поставил 👎 → -1 карма | Убрал 👎+1 карма
- Поставил 🔥 → +2 кармы | Убрал 🔥 → -2 кармы
- Поставил ❤ → +5 кармы | Убрал -5 кармы
- Поставил ❤‍🔥 → +10 кармы | Убрал ❤‍🔥 → -10 кармы
"""
try:
logger.info(f"[KARMA] Получена реакция от {reaction.user.id}")
@@ -77,6 +78,9 @@ def register_handlers(bot: AsyncTeleBot):
# Проверяем старые реакции
old_thumbs_up = False
old_thumbs_down = False
old_heart = False
old_fire_heart = False
old_fire = False
if reaction.old_reaction:
for react in reaction.old_reaction:
if isinstance(react, ReactionTypeEmoji):
@@ -84,10 +88,19 @@ def register_handlers(bot: AsyncTeleBot):
old_thumbs_up = True
elif react.emoji == "👎":
old_thumbs_down = True
elif react.emoji == "":
old_heart = True
elif react.emoji == "❤‍🔥":
old_fire_heart = True
elif react.emoji == "🔥":
old_fire = True
# Проверяем новые реакции
new_thumbs_up = False
new_thumbs_down = False
new_heart = False
new_fire_heart = False
new_fire = False
if reaction.new_reaction:
for react in reaction.new_reaction:
if isinstance(react, ReactionTypeEmoji):
@@ -95,6 +108,12 @@ def register_handlers(bot: AsyncTeleBot):
new_thumbs_up = True
elif react.emoji == "👎":
new_thumbs_down = True
elif react.emoji == "":
new_heart = True
elif react.emoji == "❤‍🔥":
new_fire_heart = True
elif react.emoji == "🔥":
new_fire = True
# Определяем изменение кармы
karma_change = 0
@@ -122,10 +141,40 @@ def register_handlers(bot: AsyncTeleBot):
karma_change = 1
action_emoji = "👎"
action_text = "убрал 👎"
elif new_heart and not old_heart:
# Добавили ❤
karma_change = 5
action_emoji = ""
action_text = "поставил ❤"
elif old_heart and not new_heart:
# Убрали ❤
karma_change = -5
action_emoji = ""
action_text = "убрал ❤"
elif new_fire_heart and not old_fire_heart:
# Добавили ❤‍🔥
karma_change = 10
action_emoji = "❤‍🔥"
action_text = "поставил ❤‍🔥"
elif old_fire_heart and not new_fire_heart:
# Убрали ❤‍🔥
karma_change = -10
action_emoji = "❤‍🔥"
action_text = "убрал ❤‍🔥"
elif new_fire and not old_fire:
# Добавили 🔥
karma_change = 2
action_emoji = "🔥"
action_text = "поставил 🔥"
elif old_fire and not new_fire:
# Убрали 🔥
karma_change = -2
action_emoji = "🔥"
action_text = "убрал 🔥"
# Если нет изменений - выходим
if karma_change == 0:
logger.info(f"[KARMA] Нет изменений в реакциях 👍/👎")
logger.info(f"[KARMA] Нет изменений в реакциях")
return
logger.info(f"[KARMA] {action_text} от {from_user.id} для {to_user_id}, изменение кармы: {karma_change}")