Как научить телеграм бота банить нового юзера в чате если в его первом сообщении есть спам-ссылка?

Сообственно вопрос в заголовке
пока есть такой код, который просто удаляет сообщения со ссылкой, но так как ссылки в чате нужны, появилась идею бороться со спамом следующим образом: а именно банить только новых юзеров в чьём первом сообщении присутствует какая либо ссылка, т.к. спамер обычно сразу отправляет рекламы чего-либо не заморачиваясь что-то писать. вопрос как изменить код в соответствии с тз?

@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)

Ответы (0 шт):