mirror of
https://github.com/AsgardEternal/DiscordWhitelist.git
synced 2025-01-04 18:59:15 -06:00
70 lines
2.8 KiB
Python
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")
|