我尝试使我的机器人使用以下语法从DM获取消息:

for wolf in wolf_list_id:
   poll_message = await self.client.get_message(wolf, react_message.id)


wolf包含用户的id,但是get_message语法无法从wolf获取ID。有任何想法吗?

最佳答案

就像文档所说的那样,client.get_message方法必须将一个通道对象和一个id作为参数。
如果是DM通道,则可以传递usermember对象。

要通过id获取用户,可以使用client.get_user_info方法:

user = await client.get_user_info("123456789")


之后,通过您的user对象,您可以获得ID为的消息

message = await client.get_message(user, "135792468")



因此,为了修复您的代码,如果wolf是一个字符串ID,则可以使用以下代码:

for wolf in wolf_list_id:
    user = await self.client.get_user_info(wolf)
    poll_message = await self.client.get_message(user, react_message.id)

关于python - Discord.py从DM获取消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53371935/

10-12 16:41
查看更多