Skip to content

Commit 6d1f464

Browse files
renzorenzon
renzo
authored andcommitted
Made DevPro Bot remove Discord users with no valid subscriptions
close #4791
1 parent 774a0d4 commit 6d1f464

File tree

2 files changed

+10
-17
lines changed

2 files changed

+10
-17
lines changed

pythonpro/discord/tasks.py

+5-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import logging
22

33
from celery import shared_task
4+
from django.conf import settings
45

56
from pythonpro.discord.bot import discord_bot_client
67
from pythonpro.discord.models import DiscordLead
@@ -32,32 +33,20 @@ def clean_discord_user(discord_user_id):
3233
if not has_discord_access:
3334
dm_channel = discord_bot_client.get_dm_channel(discord_user_id)
3435
discord_bot_client.create_message(dm_channel['id'], msg)
36+
discord_bot_client.remove_guild_member(settings.DISCORD_GUILD_ID, discord_user_id)
3537

3638
logging.info(f'Clean discord user: {discord_user_id} with status: {lead_status.label}')
3739

3840

3941
msg = """Olá, sou o bot da DevPro no Discord.
4042
41-
Eu não identifiquei sua conta de Discord em nosso sistema. Então peço a gentileza de você conectar suas conta:
43+
Eu não identifiquei sua conta de Discord em nosso sistema. Por isso eu removi seu acesso.
4244
43-
https://l.dev.pro.br/comunidade
44-
45-
Para fazer essa conexão você precisa ter uma assinatura com acesso ao discord Ativa.
46-
Você pode conferir seu histórico de assinaturas aqui:
45+
Você pode conferir todo seus histórico de assinaturas acessando
4746
4847
https://painel.dev.pro.br
4948
50-
Você pode renovar sua assinatura utilizando o link:
51-
52-
https://painel.dev.pro.br/checkout/pagarme/renovacao-comunidade-devpro
53-
54-
Na próxima semana, usuários sem assinatura ativa serão removidos do servidor do Discord.
55-
56-
Qualquer dúvida, mande mensagem no canal #suporte do servidor do Discord da DevPro:
57-
58-
https://discord.com/channels/971162582624903288/979392834308280380
59-
60-
Eu vou mandar essa mensagem novamente até o dia 26/03/2024. Depois dessa data, sua conta poderá ser removida.
49+
Se tiver qualquer dúvida, entre em contato pelo email [email protected]
6150
6251
Um abraço do Bot da DevPro
6352
"""

pythonpro/discord/tests/test_clean_discord_user.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def test_active_user(db):
2727

2828

2929
@pytest.fixture
30-
def mock_discord_bot_msg_requests(responses):
30+
def mock_discord_bot_msg_requests(responses, settings):
3131
channel_id = '122334232132323'
3232
responses.add(
3333
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):
3939
responses.POST, f'https://discord.com/api/v10/channels/{channel_id}/messages', json={'id': 'message_id'},
4040
status=200
4141
)
42+
responses.add(
43+
responses.DELETE, f'https://discord.com/api/v10/guilds/{settings.DISCORD_GUILD_ID}/members/{discord_user_id}',
44+
status=204
45+
)
4246

4347

4448
def test_no_discord_user(db, mock_discord_bot_msg_requests):

0 commit comments

Comments
 (0)