discord.py如何从DM通道获取日志

问题描述:

我在尝试检测我的僵尸程序发送给用户的最后一条消息是否与需要发送的最后一条消息(Python 3.5)相同。discord.py如何从DM通道获取日志

我试过使用client.logs_from(channel,limit=1)但我不知道如何让它从DM获取日志。

client.logs_from接受一个PrivateChannel实例到它的通道参数。假设你知道你想要哪个用户的PM通道已经检查(这听起来像你这样做),它是那样简单:

# PrivateChannel instance is privateCh 

newMsg = 'your message here' 
async for msg in client.log_from(privateCh, limit=1): 
    if newMsg != msg.content: 
     await client.send_message(privateCh, newMsg) 
+0

但我应该怎么定义privateCh为? ('NameError:名称'privateCh'未定义') – particulator

+0

啊,是的,你需要以某种方式获得用户的PM频道并首先定义它。现在,您需要循环访问'client.private_channels'以在privatechannel.recipients中找到具有目标用户的人。在下一个版本中,你可以用'user.dm_channel'来获取它。 –