如何让我的 discord.py 重写机器人向消息作者发送私人消息

问题描述

我为游戏的 Discord 服务器制作了一个 Discord 机器人.我正在使用 discord.py 重写版本,我想向消息的作者发送私信.

I have made a Discord bot for a game's Discord server. I'm using the discord.py rewrite version and I want to send a private message to the author of the message.

我尝试了互联网上的其他代码,其中包括一些@bot"代码,但它总是出现错误

I've tried other codes on the internet which includes some "@bot" code, but it always comes up with the error

名称'bot'未定义"

"Name 'bot' is not defined"

如果我尝试 send_message 它会说

and if I try send_message it says

客户端对象没有属性‘send_message’"

"Client object has no attribute '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",如果用户执行该命令,我希望机器人私信给消息的作者说刚刚给你发了消息!".

For example, I want to create a command "!messageme", and if a user executes the command I expect the bot to private message the author of the message saying "Just messaged you!".

如果 Pierce#9255 在服务器中执行命令,机器人应该私信他说刚刚给你发了消息!".

If Pierce#9255 executes the command in the server, the bot should private message him saying "Just messaged you!".


解决方案

你定义了你的机器人变量吗?如果没有,请执行以下操作:

Did you define your bot variable? If not then do this:

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

Also, if you still confused then just give this yt tutorial a try: -NiByO6h7Ck

相关文章