Eu tô fazendo um bot no Discord de interação ele basicamente fazer as perguntas e os usuários respondia depois ele pegava as informações como nome no jogo e ID e colocava como apelido era pra fica nesse formato (RC "nome no jogo" - "ID"), só que a única coisa que tava indo para o o apelido era (RC ""_"") uma pessoa me sugeriu colocar prints no código para ver oq estava acontecendo eu coloquei e é isso que parece e minha mente deu um branco não sei mais oq fazer 🤡
Código fonte (com os prints):
import discord
from discord.ext import commands
from asyncio import sleep
intents = discord.Intents.default()
intents.members = True
bot = commands.Bot(command_prefix='!', intents=intents)
member_info = {} # Dicionário para armazenar as informações dos membros
@bot.event
async def on_ready():
print(f'Bot está online. Conectado como {bot.user.name}')
@bot.event
async def on_member_join(member):
channel = discord.utils.get(member.guild.channels, name='bem-vindo') # Nome do canal de boas-vindas
await channel.send(f'Bem-vindo, {member.mention}! Por favor, diga o seu nome no jogo:')
print(f'Membro: {member} entrou no servidor') # Impressão para depuração
# Função para verificar se a mensagem é do membro que entrou no servidor
def check(m):
return m.channel == channel and m.author == member
try:
async def get_response(prompt):
await channel.send(prompt)
response_msg = await bot.wait_for('message', check=check, timeout=30)
return response_msg.content.strip()
nome_jogo = await get_response("Por favor, diga o seu nome no jogo:")
print(f'Nome do jogo fornecido: {nome_jogo}') # Impressão para depuração
id_jogo = await get_response("Por favor, informe o seu ID:")
print(f'ID do jogo fornecido: {id_jogo}') # Impressão para depuração
responsavel = await get_response("Quem é o responsável pela sua contratação?")
print(f'Responsável fornecido: {responsavel}') # Impressão para depuração
await channel.send("Muito bem! Seu acesso foi liberado. Tenha um ótimo RP!")
# Atualizar apelido no servidor
member_info[member.id] = {'nome_jogo': nome_jogo, 'id_jogo': id_jogo, 'responsavel': responsavel}
print(f'Informações do membro atualizadas: {member_info[member.id]}') # Impressão para depuração
nickname = f'RC "{nome_jogo}" - "{id_jogo}"'
print(f'Apelido a ser atualizado: {nickname}') # Impressão para depuração
await member.edit(nick=nickname)
print('Apelido atualizado com sucesso!') # Impressão para depuração
# Aguardar 10 segundos e apagar as mensagens
await sleep(10)
await channel.purge(limit=5) # Define o número de mensagens que serão apagadas
except Exception as e:
print(f'Ocorreu um erro: {e}')
bot.run('')
E essa é a resposta dos prints:
2023-07-19 10:30:07 WARNING discord.ext.commands.bot Privileged message content intent is missing, commands may not work as expected.
2023-07-19 10:30:07 INFO discord.client logging in using static token
2023-07-19 10:30:08 INFO discord.gateway Shard ID None has connected to Gateway (Session ID: 3079c6e760e3d37bdd3916a7bddddcee).
Bot está online. Conectado como BOT TEXT
Membro: purple2752 entrou no servidor
Nome do jogo fornecido:
ID do jogo fornecido:
Responsável fornecido:
Informações do membro atualizadas: {'nome_jogo': '', 'id_jogo': '', 'responsavel': ''}
Apelido a ser atualizado: RC "" - ""
Apelido atualizado com sucesso!
Se tiver como alguém me ajudar eu agradeço e urgente por favor