Update bot.py

parent af057b09
......@@ -397,15 +397,46 @@ async def handle_message(message: Message):
# Обработчик сообщений
@dp.message(lambda message: message.reply_to_message and '/spam' in message.text.lower())
async def delete_spam(message: types.Message):
try:
#@dp.message(lambda message: message.reply_to_message and '/spam' in message.text.lower())
#async def delete_spam(message: types.Message):
# try:
# Удаляем сообщение с подписью /spam
await message.delete()
# await message.delete()
# Удаляем сообщение, на которое был дан ответ
await message.reply_to_message.delete()
except Exception as e:
logger.error("Deleting error: %s", e)
# await message.reply_to_message.delete()
# except Exception as e:
# logger.error("Deleting error: %s", e)
from aiogram import types
import asyncio
@dp.message(Command("spam"))
async def report_spam(message: types.Message):
if not message.reply_to_message:
await message.reply("Эту команду нужно использовать в ответ на сообщение.")
return
spam_message = message.reply_to_message
# Получаем список администраторов чата
chat_admins = await bot.get_chat_administrators(message.chat.id)
# Фильтруем только тех, у кого роль "Модератор"
moderators = [
f"@{admin.user.username}" for admin in chat_admins
if admin.user.username and not admin.user.is_bot and admin.custom_title and "модератор" in admin.custom_title.lower()
]
if not moderators:
moderators_text = "Нет доступных модераторов"
else:
moderators_text = ', '.join(moderators)
# Оповещение с пингом модераторов
warning_text = f"⚠️ Внимание, замечен спам! {moderators_text}\n\n"
warning = await spam_message.reply(warning_text)
# Удаляем своё сообщение
await message.delete()
async def main():
......@@ -416,4 +447,3 @@ async def main():
if __name__ == "__main__":
SPAM_KEYWORDS = preprocess_spam_keywords(SPAM_KEYWORDS)
asyncio.run(main())
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment