python - 命令引发异常:AttributeError: 'str' object has no attribute 'custom_emoji'
问题描述
我正在尝试创建一个命令,将所有对特定消息做出反应的成员的姓名打印到我的控制台中。但是,它给了我一个错误:
@commands.command()
async def whoreacted(self, ctx, message):
for Member in discord.Reaction.users(message):
memberlist = Member.name
print(memberlist)
await ctx.send('finished!')
解决方案
- 您指的是类本身,而不是实例。以下是不同之处。
- 它的
message
参数将是一个字符串而不是一个discord.Message
实例,你应该使用MessageConverter
它来获取它。 - 要获得对消息做出反应的用户,您需要使用嵌套循环
这是您的固定代码
@commands.command()
async def whoreacted(self, ctx, message: discord.Message):
for reaction in message.reactions: # Iterating through every reaction
async for user in reaction.users(): # Going through every member that reacted with that reaction
print(user.name)
await ctx.send('Finished')
推荐阅读
- html - flexbox 中的项目会自动调整它们的宽度,以便它们占据相同的高度
- python - 根据日期时间列上的条件对附加新列中的 Pandas DF 值求和
- javascript - 用于幻灯片 div 的 javascript
- git - Monorepo 具有通用库版本,仅更新一个项目
- java - Apache Beam Flatten 可迭代
- python - statsmodels中的分类交互?
- ios - 目标c绑定未在xamarin表单ios中加载
- node.js - 我想解析 JSON 数据并将其显示在网站上,但错误是位置 1 的 JSON 中的 Unexpected token o
- python - Pandas:来自日期时间变量的新日期变量
- c++ - 声明点数组大小 int 主函数 C++