首页 > 解决方案 > discord.py 从 dm 中获取用户答案

问题描述

我是 python 新手,我想制作一个机器人,它会问一些问题,然后用户可以回答,机器人将答案保存在一个变量中,我可以在最后发送给我。

我得到这个错误:

discord.ext.commands.errors.CommandInvokeError:命令引发异常:AttributeError:'Context'对象没有属性'messaage'

我是stackoverflow的新手,所以很抱歉弄错了一些东西。

async def bewerbung(ctx):
  Answer = ""
  await ctx.message.delete()
  em=discord.Embed(Title="Test", description="Test")
  em2=discord.Embed(Title="Hello", description="Test")
  channel = await ctx.author.create_dm()
  await ctx.author.send(embed=em)
  def check(m):
          return m.content is not None and m.channel == channel
  await bot.wait_for('message', check=check, timeout=60)
  Answer= "" + ctx.message
  await ctx.author.send(embed=em2)
  print(Answer)

标签: pythondiscord.py

解决方案


您向用户提出问题,然后使用以下代码等待用户

msg = await client.wait_for("message")

然后您可以msg用于检查用户发送的内容。

像这样

        if msg.content == "Hi":
            await member.send(
                "Hi , How Are Ya"
            )
        else:
            await member.send("Bye")

Some Thing Like This ,谈到用户 msgs 存储在 var 中,它将存储在msg

希望它有帮助,这里有更多文档


推荐阅读