Да сработало спасибо ...
му ниже код блокирует сервер и идентификатор пользователя в списке, когда они используют?hello
, поэтому я пытаюсь поднять пользовательское сообщение об ошибке. Если идентификатор пользователя в списке, он скажетUser Blacklisted
и если идентификатор сервера в списке, он скажет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")