python - 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)
解决方案
您向用户提出问题,然后使用以下代码等待用户
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
希望它有帮助,这里有更多文档
推荐阅读
- javascript - 如何修复控制台中的“来自服务器的额外属性:样式”警告
- yarnpkg - Storybook 正在从 yarn/lerna monorepo 的包的 node_modules 文件夹中加载故事
- c# - 为什么即使我的项目针对 dotnet core 2.2,Visual Studio 2019 仍会在 dotnet core 1.0 中运行测试?
- node.js - 错误:无法将 pid 文件写入 /tmp/docker-entrypoint-temp-mongod.pid:未知错误
- c - 如何在 Visual Studio 2010 环境中的 C 中创建可变长度数组?
- javascript - 将文件输入值从多个文件输入动态更改为子文件输入
- oracle11g - ireport 无法识别 oracle 11g 数据库中的表
- python - 未找到“xyz”的反向。“xyz”不是有效的视图函数或模式名称
- powershell - Windows 10 中的索引值 -1
- python - 在 Python 电子商务网站中更改产品排序