DiscordWhitelist/autowl/Cogs/Whitelist.py
2023-04-17 22:04:02 -04:00

70 lines
2.8 KiB
Python

import discord
import logging
import mysql.connector
from autowl import config
from autowl.bot import Bot
from discord.ext import commands
from discord import app_commands
log = logging.getLogger(__name__)
class Whitelist(commands.Cog):
def __init__(self, client: Bot):
self.client = client
@app_commands.command()
async def link(self, interaction: discord.Interaction, steam64: str):
if not interaction.guild:
await interaction.response.send_message(
"This command must be ran within a discord server!"
)
return
updatecur = self.client.squadjs.cursor(buffered=True)
try:
updatecur.execute(self.client.squadjs_updateDiscordID, (interaction.user.id, steam64))
except mysql.connector.Error as err:
log.error("MYSQL error!")
await interaction.response.send_message("Could not find steamID!")
for urole in interaction.user.roles:
if urole.id in self.client.whitelistGrps.keys():
self.client.whitelistGrps[urole.id].addMember(config.WhitelistMember(interaction.user.id, interaction.user.nick, steam64))
self.client.squadjs.commit()
await interaction.response.send_message("SteamID is linked, roles updated.")
#
# @app_commands.command()
# async def register(self, interaction: discord.Interaction, steam64: str):
# if not interaction.guild:
# await interaction.response.send_message(
# "This command must be ran within a discord server!"
# )
# return
#
# if not len(self.client.whitelistGrps.keys()):
# await interaction.response.send_message(
# "There are no Whitelist roles defined, unable to continue!"
# )
# return
#
# steam64_updated = False
# for role in interaction.user.roles:
# for group in self.client.whitelistGrps:
# if role.id == self.client.whitelistGrps[group].discord_role_id:
# steam64_updated = True
# memb = config.WhitelistMember(interaction.user.id, interaction.user.name, steam64)
# self.client.whitelistGrps[group].addMember(memb)
#
# if steam64_updated:
# log.info(
# f"Updated {interaction.user.name}'s ({interaction.user.id}) whitelist steam64 to {steam64}"
# )
# await interaction.response.send_message(
# f"Updated `{interaction.user.name}`'s whitelist steam64 to `{steam64}`!"
# )
# else:
# await interaction.response.send_message(f"Unable to update `{interaction.user.name}`'s whitelist steam64 as they are not in a valid Whitelisted group")