I am in the process of making a discord bot using discord.py and asyncio. The bot has commands like kick
and ban
which obviously should not be available to normal users.
I want to make a simple system which will detect what permissions the user's role has using ctx.message.author
to get the user who sent the command.
I do not want the bot to detect a specific role name as these vary across servers. I also prefer not to have multiple files for the bot to keep it simple.
I have seen the discord.py documentation and various other sources but none contain examples of how to implement the various methods they talk about.
As an example, here is a single command from my bot:
async def kick(ctx, userName: discord.User):
if True: #ctx.message.author.Permissions.administrator
await BSL.kick(userName)
else:
permission_error = str('Sorry ' + ctx.message.author + ' you do not have permissions to do that!')
await BSL.send_message(ctx.message.channel, permission_error)
Where the if else
statement is my attempt of doing this on my own. The #ctx.message.author.Permissions.administrator
is commented out as it does not work and replaced with True
for testing purposes.
Thank you for any help and suggestions in advance.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…