如何修复 discord.py 中的“未解析的引用‘消息’”?
Posted
技术标签:
【中文标题】如何修复 discord.py 中的“未解析的引用‘消息’”?【英文标题】:How do I fix "Unresolved reference 'message'" in discord.py? 【发布时间】:2021-06-15 13:02:06 【问题描述】:我目前正在用 PyCharm 编写一个机器人。我正在努力让机器人在用户提到它们时响应用户。这是代码。
@client.event
async def on_message(msg):
if str(client.user.id) in msg:
em = discord.Embed(title="404Bot Help", description="Use $help <command> for extended information on that command.")
em.add_field(name="Information", value="help, server, about")
em.add_field(name="Moderation", value="clear")
em.add_field(name="Chat", value="send, hello, speak")
em.add_field(name="Games & Fun", value="coinflip, 8ball")
em.add_field(name="Miscellaneous", value="test")
await client.send_message(embed=em)
但由于某种原因,它向我显示了这个错误。
免责声明:
我对 discord.py 很陌生,所以请尊重这一事实。美好的一天。
【问题讨论】:
您的代码包含错误部分,您的代码中没有对message
的引用
请提供minimal reproducible example 和完整的错误回溯,而不是小屏幕剪辑
【参考方案1】:
您需要使用msg.channel.send
。另外,在你的 if 语句中,使用 msg.content
而不是 msg
。
@client.event
async def on_message(msg):
if str(client.user.id) in msg.content:
em = discord.Embed(title="404Bot Help", description="Use $help <command> for extended information on that command.")
em.add_field(name="Information", value="help, server, about")
em.add_field(name="Moderation", value="clear")
em.add_field(name="Chat", value="send, hello, speak")
em.add_field(name="Games & Fun", value="coinflip, 8ball")
em.add_field(name="Miscellaneous", value="test")
await msg.channel.send(embed=em)
【讨论】:
@404la_g 如果这对您有用,请确保将我的答案标记为正确!以上是关于如何修复 discord.py 中的“未解析的引用‘消息’”?的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 Discord.py 不为语音命令运行我的异步功能?
使用 Gradle Kotlin DSL 配置 Jooq 时如何修复“未解析的引用:jdbc”