我在使用 discord 机器人修改 json 文件时遇到了一些问题。如何解决这个问题?



如果用户有权禁止成员,我希望bot使此命令可操作但当我运行代码时,我得到错误,因为@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:UsersACERDesktopJson read writebotRead.py", line 42, in <module>
@commands.has_permissions(ban_member=True)
File "C:UsersACERAppDataRoamingPythonPython39site-packagesdiscordextcommandscore.py", line 1779, in has_permissions
raise TypeError('Invalid permission(s): %s' % (', '.join(invalid)))
TypeError: Invalid permission(s): ban_member

权限可能不正确,存在权限ban_members(注意复数)https://discordpy.readthedocs.io/en/stable/api.html#discord.Permissions.ban_members

最新更新