Как сделать так, чтобы мой discord.py переписывал бота, отправляющего личное сообщение автору сообщения - PullRequest
0 голосов
/ 01 мая 2019

Я создал бот Discord для игрового сервера Discord. Я использую перезаписывающую версию discord.py и хочу отправить личное сообщение автору сообщения.

Я пробовал другие коды в Интернете, которые включают в себя некоторый код "@bot", но всегда появляется ошибка

«Имя« бот »не определено»

и если я попытаюсь send_message, он скажет

"У объекта клиента нет атрибута 'send_message'"

Мой код:

#I've tried this...

@bot.command(pass_context=True)
async def poke(ctx, message):
    await client.send_message(ctx.message.author, 'boop')

#but it comes up with the error "Name 'bot' is not defined" and stuff like that

Например, я хочу создать команду «! Messageme», и если пользователь выполнит команду, я ожидаю, что бот отправит личное сообщение автору сообщения, в котором говорится «Просто отправил вам сообщение!».

Если Пирс # 9255 выполняет команду на сервере, бот должен отправить ему личное сообщение «Просто отправил тебе сообщение!».

Ответы [ 2 ]

1 голос
/ 02 мая 2019

Вы определили свою переменную бота?Если нет, то сделайте следующее:

bot = commands.Bot(command_prefix='!') # Just add your desired prefix there.

# sending dm
@bot.command()
async def poke(ctx):
    await ctx.author.send('boop!')

Кроме того, если вы все еще в замешательстве, просто попробуйте этот урок yt: -NiByO6h7Ck

0 голосов
/ 16 июля 2019

Сначала вы должны определить Bot. Вам нужно будет DM пользователя.

bot = commands.Bot(command_prefix='your_prefix')

@bot.command()
async def hello(ctx):
    user = ctx.author
    await user.send("Hello!")
...