【发布时间】:2021-12-08 00:13:06
【问题描述】:
如果用户有权禁止成员,我希望机器人使此命令可操作,但是当我运行代码时,由于@commands.has_permissions(ban_member=True) 下方代码中的这一行而出现错误,这是我代码中的第 42 行
如果我删除 @commands.has_permissions(ban_member=True) 它可以工作,但是任何人都可以修改我不希望发生的 json 文件。
如何解决这个错误?
def write_json(data,filename="blacklistedWords.json"):
with open(filename,"w") as f:
json.dump(data,f,indent=4)
@bot.command(aliases=['awb'])
@commands.has_permissions(ban_member=True)
async def addtoblacklist(ctx,*,word):
with open("blacklistedWords.json") as json_file:
data = json.load(json_file)
temp = data["blacklistedWords"]
temp.append(word)
write_json(data)
Traceback (most recent call last):
File "C:\Users\ACER\Desktop\Json read write\botRead.py", line 42, in <module>
@commands.has_permissions(ban_member=True)
File "C:\Users\ACER\AppData\Roaming\Python\Python39\site-packages\discord\ext\commands\core.py", line 1779, in has_permissions
raise TypeError('Invalid permission(s): %s' % (', '.join(invalid)))
TypeError: Invalid permission(s): ban_member
【问题讨论】:
标签: python json discord discord.py