因此,下面的代码在使用时会阻止列表中的服务器和用户ID ?hello,因此我试图提出自定义错误消息。如果用户ID在列表中,它将告诉您User Blacklisted,如果服务器ID在列表中,则表明Server has been Blacklisted。LIST_OF_USER_IDS = ['34534545546', '34534545546']LIST_OF_SERVER_IDS = ['34534545546', '34534545546']def blacklists(users, servers): def predicate(ctx): return ctx.message.author.id not in users and ctx.message.server.id not in servers return commands.check(predicate)@bot.command(pass_context=True)@blacklists(LIST_OF_USER_IDS, LIST_OF_SERVER_IDS)async def hello(ctx): await bot.say("Hello {}".format(ctx.message.author.mention))所以我尝试下面的代码,但出现错误。我只是一个初学者,所以我的代码不正确,因此我需要帮助来解决此问题。def blacklists(users, servers): def predicate(ctx): return ctx.message.author.id not in users and ctx.message.server.id not in servers return commands.check(predicate)try: if ctx.message.author.id in LIST_OF_USER_IDS: raise UserBlacklisted elif ctx.message.server.id in LIST_OF_SERVER_IDS: raise ServerBlacklisted break except UserBlacklisted: await bot.send_message(ctx.message.channel, "User Blacklisted") except ServerBlacklisted: await bot.send_message(ctx.message.channel, "Server has been Blacklisted")
添加回答
举报
0/150
提交
取消