#内容として一般の人が乱用するととんでもないことになりかねないので管理者と一定権限をもつ役職(モデレーター)のみが使用できるようにしたい
ということなのですが、今の状態だとその役職を持っていても弾かれてしまいました・・・
(ちなみに管理者権限だと実行できます)
Python
1@bot.command(pass_context=True) 2async def alarm(ctx): 3 role = ctx.guild.get_role(#roleidを貼っています) 4 if ctx.author.guild_permissions.administrator or ctx.author == role: 5 channel = ctx.message.author.voice.channel 6 voice = get(client.voice_clients, guild=ctx.guild) 7 player = voice.play(discord.FFmpegPCMAudio('other/alarm.mp3')) 8 else: 9 await ctx.send('権限がありません')
ちなみにimport類はこんな感じです。
Python
1import discord 2from discord.ext import commands 3from discord.utils import get 4import ffmpeg 5 6token = "トークン" 7bot = commands.Bot(command_prefix = '!')
どこが間違っているかご教授願います。
環境
Windows 10 x64
discord.py 1.4.1
ffmpeg 1.4
python 3.8.3
【追記】成功例
Python
1@bot.command(pass_context=True) 2async def alarm(ctx): 3 role = ctx.guild.get_role(#roleidを貼っています) 4 if ctx.author.guild_permissions.administrator or role in ctx.author.roles: 5 channel = ctx.message.author.voice.channel 6 voice = get(client.voice_clients, guild=ctx.guild) 7 player = voice.play(discord.FFmpegPCMAudio('other/alarm.mp3')) 8 else: 9 await ctx.send('権限がありません')
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/20 12:45