Load roles from config instead of hard-coding them
parent
0aade0c6fd
commit
00f787ba31
140
bot.py
140
bot.py
|
@ -42,143 +42,21 @@ async def on_ready():
|
|||
|
||||
@client.tree.command(name="change_hostname")
|
||||
@app_commands.describe(distro='Assign yourself a role')
|
||||
async def distro(interaction: discord.Interaction, distro: typing.Literal[
|
||||
'LFS', 'Kiss', 'Gentoo', 'Void', 'NixOS', 'Alpine',
|
||||
'Arch', 'Arch-based', 'Red Hat', 'Bedrock', 'SuSE Based',
|
||||
'OpenSuSE', 'Debian', 'Debian based', 'Solus', 'Fedora',
|
||||
'Ubuntu', 'Ubuntu Based', 'BSD', 'MacOS', 'Windows'
|
||||
]):
|
||||
async def distro(interaction: discord.Interaction, distro: eval("typing.Literal[\""+ "\", \"".join(config["roles"].keys()) +"\"]")):
|
||||
if not interaction.guild.id==config["guild"]:
|
||||
print("Role assignment attempted from unknown guild.")
|
||||
return
|
||||
|
||||
user = interaction.user
|
||||
if distro == 'LFS':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813200239778856971)
|
||||
role = discord.utils.get(interaction.guild.roles, id=config["roles"][distro])
|
||||
|
||||
try:
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Kiss':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=884819839212982342)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Gentoo':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=1813139495049232384)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Void':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813139633797988394)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'NixOS':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=827228988585279538)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Alpine':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=932684264967925850)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Arch':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813139868678225991)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Arch-based':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813186782534828043)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Red Hat':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=816823482318979094)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Bedrock':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=825427559604027412)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'SuSE Based':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=1034793985715224587)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'OpenSuSE':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813147179367661589)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Debian':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813142935247388672)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Debian based':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=842882283504926756)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Solus':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=820840553704325160)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Fedora':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=820621219040591884)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Ubuntu':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813139746180038697)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Ubuntu Based':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813581408052183042)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'BSD':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=879444277330055228)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'MacOS':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813147204772167680)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
if distro == 'Windows':
|
||||
user = interaction.user
|
||||
role = discord.utils.get(user.guild.roles, id=813147019631788083)
|
||||
await user.add_roles(role)
|
||||
await interaction.response.send_message(content=f'`{role}` assigned to {user.mention}.')
|
||||
print(f"`{role}` assigned to {user.mention}.")
|
||||
await interaction.response.send_message(content=f'Added {role}.')
|
||||
prnt("Added role.")
|
||||
except:
|
||||
await interaction.response.send_message(content='Something went wrong.')
|
||||
print("Failed to add role. Permissions set correctly?")
|
||||
|
||||
|
||||
# This context menu command only works on messages
|
||||
|
|
Loading…
Reference in New Issue