diff --git a/pythonpro/discord/tasks.py b/pythonpro/discord/tasks.py index af9bee34..f0afe417 100644 --- a/pythonpro/discord/tasks.py +++ b/pythonpro/discord/tasks.py @@ -1,6 +1,7 @@ import logging from celery import shared_task +from django.conf import settings from pythonpro.discord.bot import discord_bot_client from pythonpro.discord.models import DiscordLead @@ -32,32 +33,20 @@ def clean_discord_user(discord_user_id): if not has_discord_access: dm_channel = discord_bot_client.get_dm_channel(discord_user_id) discord_bot_client.create_message(dm_channel['id'], msg) + discord_bot_client.remove_guild_member(settings.DISCORD_GUILD_ID, discord_user_id) logging.info(f'Clean discord user: {discord_user_id} with status: {lead_status.label}') msg = """Olá, sou o bot da DevPro no Discord. -Eu não identifiquei sua conta de Discord em nosso sistema. Então peço a gentileza de você conectar suas conta: +Eu não identifiquei sua conta de Discord em nosso sistema. Por isso eu removi seu acesso. -https://l.dev.pro.br/comunidade - -Para fazer essa conexão você precisa ter uma assinatura com acesso ao discord Ativa. -Você pode conferir seu histórico de assinaturas aqui: +Você pode conferir todo seus histórico de assinaturas acessando https://painel.dev.pro.br -Você pode renovar sua assinatura utilizando o link: - -https://painel.dev.pro.br/checkout/pagarme/renovacao-comunidade-devpro - -Na próxima semana, usuários sem assinatura ativa serão removidos do servidor do Discord. - -Qualquer dúvida, mande mensagem no canal #suporte do servidor do Discord da DevPro: - -https://discord.com/channels/971162582624903288/979392834308280380 - -Eu vou mandar essa mensagem novamente até o dia 26/03/2024. Depois dessa data, sua conta poderá ser removida. +Se tiver qualquer dúvida, entre em contato pelo email suporte@dev.pro.br Um abraço do Bot da DevPro """ diff --git a/pythonpro/discord/tests/test_clean_discord_user.py b/pythonpro/discord/tests/test_clean_discord_user.py index c0882cf0..94bd2b0c 100644 --- a/pythonpro/discord/tests/test_clean_discord_user.py +++ b/pythonpro/discord/tests/test_clean_discord_user.py @@ -27,7 +27,7 @@ def test_active_user(db): @pytest.fixture -def mock_discord_bot_msg_requests(responses): +def mock_discord_bot_msg_requests(responses, settings): channel_id = '122334232132323' responses.add( responses.POST, 'https://discord.com/api/v10/users/@me/channels', json={'id': channel_id}, status=200, @@ -39,6 +39,10 @@ def mock_discord_bot_msg_requests(responses): responses.POST, f'https://discord.com/api/v10/channels/{channel_id}/messages', json={'id': 'message_id'}, status=200 ) + responses.add( + responses.DELETE, f'https://discord.com/api/v10/guilds/{settings.DISCORD_GUILD_ID}/members/{discord_user_id}', + status=204 + ) def test_no_discord_user(db, mock_discord_bot_msg_requests):