Compare commits

...

3 Commits

1 changed files with 21 additions and 2 deletions

23
bot.py
View File

@ -40,7 +40,7 @@ async def on_ready():
print('------') print('------')
@client.tree.command(name="change_hostname") @client.tree.command(name="join_role")
@app_commands.describe(distro='Assign yourself a role') @app_commands.describe(distro='Assign yourself a role')
async def distro(interaction: discord.Interaction, distro: eval("typing.Literal[\""+ "\", \"".join(config["roles"].keys()) +"\"]")): async def distro(interaction: discord.Interaction, distro: eval("typing.Literal[\""+ "\", \"".join(config["roles"].keys()) +"\"]")):
if not interaction.guild.id==config["guild"]: if not interaction.guild.id==config["guild"]:
@ -53,12 +53,31 @@ async def distro(interaction: discord.Interaction, distro: eval("typing.Literal[
try: try:
await user.add_roles(role) await user.add_roles(role)
await interaction.response.send_message(content=f'Added {role}.') await interaction.response.send_message(content=f'Added {role}.')
prnt("Added role.") print("Added role.")
except: except:
await interaction.response.send_message(content='Something went wrong.') await interaction.response.send_message(content='Something went wrong.')
print("Failed to add role. Permissions set correctly?") print("Failed to add role. Permissions set correctly?")
@client.tree.command(name="leave_role")
@app_commands.describe(distro='Unassign yourself a role')
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
role = discord.utils.get(interaction.guild.roles, id=config["roles"][distro])
try:
await user.remove_roles(role)
await interaction.response.send_message(content=f'Left {role}.')
print("Removed role.")
except:
await interaction.response.send_message(content='Something went wrong.')
print("Failed to remove role. Permissions set correctly?")
# This context menu command only works on messages # This context menu command only works on messages
@client.tree.context_menu(name='Report to Moderators') @client.tree.context_menu(name='Report to Moderators')
async def report_message(interaction: discord.Interaction, message: discord.Message): async def report_message(interaction: discord.Interaction, message: discord.Message):