Заставить сказать команду только владелец бота - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь заставить мою команду! Say работать только для владельца бота.Это то, что у меня сейчас есть

@bot.command(pass_context = True)
async def say(ctx, *args):
    mesg = ' '.join(args)
    await bot.delete_message(ctx.message)
    return await bot.say(mesg)

Код работает, но я хочу сделать так, чтобы только я (владелец бота) мог выполнить команду.

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Попробуйте сделать это таким образом, добавив оператор if

@bot.command(pass_context=True)
async def say(ctx):
      if ctx.message.author.id =='bot owner id':
      then execute the following code
0 голосов
/ 24 мая 2018

Документация для check в документах 1.0 содержит приведенный ниже пример (слегка измененный).

def user_is_me(ctx):
    return ctx.message.author.id == "Your ID" 

@bot.command(pass_context = True)
@commands.check(user_is_me)
async def say(ctx, *args):
    mesg = ' '.join(args)
    await bot.delete_message(ctx.message)
    return await bot.say(mesg)

Как найти свой идентификатор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...