Как научить телеграм бота банить нового юзера в чате если в его первом сообщении есть спам-ссылка?
Сообственно вопрос в заголовке
пока есть такой код, который просто удаляет сообщения со ссылкой, но так как ссылки в чате нужны, появилась идею бороться со спамом следующим образом: а именно банить только новых юзеров в чьём первом сообщении присутствует какая либо ссылка, т.к. спамер обычно сразу отправляет рекламы чего-либо не заморачиваясь что-то писать. вопрос как изменить код в соответствии с тз?
@dp.message_handler(content_types=["new_chat_members"]) # Зашел
async def on_user_joined(message: types.Message):
await message.delete()
@dp.message_handler(content_types=["left_chat_member"]) # Вышел
async def on_user_exit(message: types.Message):
await message.delete()
@dp.message_handler(content_types=["text"])
async def filter_message(message: types.Message):
if ".ru" in message.text:
await message.delete()
elif ".org" in message.text:
await message.delete()
elif ".com" in message.text:
await message.delete()
elif ".uk" in message.text:
await message.delete()
elif ".net" in message.text:
await message.delete()
elif ".info" in message.text:
await message.delete()
elif "https" in message.text:
await message.delete()
elif "http" in message.text:
await message.delete()
elif "www" in message.text:
await message.delete()
elif "xyz" in message.text:
await message.delete()
elif ".cite" in message.text:
await message.delete()
elif "@" in message.text:
await message.delete()
elif ".to" in message.text:
await message.delete()
elif "t.me" in message.text:
await message.delete()
if __name__ == "__main__":
executor.start_polling(dp, skip_updates=False)