Para criar um bot do Discord que consulta o número de jogadores online a partir de um banco de dados, você precisará de algumas bibliotecas e conexões configuradas. Vamos supor que você já tenha configurado seu ambiente de desenvolvimento Python e instalado as bibliotecas necessárias, como discord.py
e pymysql
(ou qualquer outra biblioteca que você esteja usando para conectar-se ao seu banco de dados MySQL).
Aqui está um exemplo básico de como você pode implementar essa funcionalidade:
import discord
import pymysql
# Substitua pelos seus valores de conexão ao banco de dados
db_host = 'seu_host'
db_user = 'seu_usuario'
db_password = 'sua_senha'
db_name = 'ps_gamedata'
# Função para consultar o número de jogadores online
def consultar_jogadores_online():
conexao = pymysql.connect(host=db_host,
user=db_user,
password=db_password,
database=db_name,
cursorclass=pymysql.cursors.DictCursor)
try:
with conexao.cursor() as cursor:
sql = "SELECT COUNT(*) AS online_count FROM Chars WHERE LoginStatus = 1"
cursor.execute(sql)
resultado = cursor.fetchone()
return resultado['online_count']
finally:
conexao.close()
# Configuração do cliente do Discord
intents = discord.Intents.default()
intents.messages = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f'Bot conectado como {client.user}')
@client.event
async def on_message(message):
# Ignora mensagens de outros bots
if message.author.bot:
return
# Verifica se a mensagem é um comando privado com "!online"
if isinstance(message.channel, discord.DMChannel) and message.content.strip() == '!online':
jogadores_online = consultar_jogadores_online()
resposta = f"Atualmente, há {jogadores_online} jogadores online."
await message.channel.send(resposta)
# Substitua pelo token do seu bot
TOKEN = 'seu_token_aqui'
client.run(TOKEN)
Certifique-se de substituir 'seu_host'
, 'seu_usuario'
, 'sua_senha'
, 'seu_token_aqui'
e outros valores pelo que é relevante para o seu ambiente. Além disso, antes de executar o bot, instale as bibliotecas necessárias com pip install discord.py pymysql
.
Este exemplo básico conecta-se ao banco de dados para obter o número de jogadores online e responde ao comando !online
em mensagens privadas. É importante garantir que seu bot tenha as permissões necessárias para receber e enviar mensagens privadas.