Python 3.x 如何获取在discord服务器上发送的最后一封邮件的内容

Python 3.x 如何获取在discord服务器上发送的最后一封邮件的内容,python-3.x,discord,Python 3.x,Discord,我正在尝试建立一个discord机器人,它在特定条件下基本上重复用户所说的话。为了简单起见,条件在问题中并不重要。我目前的策略是在满足条件时获取日志,然后重复它们。但是,我的代码不起作用。我使用的是Python3.6.4(我还没有设置repeat,我只想发送最后一条消息。) 这是我的密码: import discord TOKEN = 'XXXXXXXX' client = discord.Client() @client.event async def on_message(messag

我正在尝试建立一个discord机器人,它在特定条件下基本上重复用户所说的话。为了简单起见,条件在问题中并不重要。我目前的策略是在满足条件时获取日志,然后重复它们。但是,我的代码不起作用。我使用的是Python3.6.4(我还没有设置repeat,我只想发送最后一条消息。) 这是我的密码:

import discord

TOKEN = 'XXXXXXXX'

client = discord.Client()

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('I am'):
        msg = 'Hi {0.author.mention}'.format(message)
        await client.send_message(message.channel, msg)
    if message.content.startswith('Logs'):
        logs= logs_from(general, limit=1)
        print(logs)

@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

client.run(TOKEN)
这个问题正在讨论中

logs=logs_from(general, limit=1)
这里是错误

 File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/discord/client.py", line 307, in _run_event
yield from getattr(self, event)(*args, **kwargs)
  File "dadbot.py", line 17, in on_message
    logs= logs_from(general, limit=1)
NameError: name 'logs_from' is not defined

请记住,这是我的第一个discord机器人,我正在努力在线查找有用的信息。

从未定义来自的函数
logs\u,因此会出现错误

也许你的意思是:

logs = client.logs_from(general, limit=1)

因此,您需要客户机类中的方法
log\u。

非常感谢,这是有效的,但是general是未定义的,尽管我有一个名为general的文本服务器。我知道这不是原始问题的一部分,但你能帮我吗?我在上面的代码中看到一个
general
字符串(并用作值),因此没有定义
general
。Python是命名空间上的字符串,所以代码也是可读的。从上面的代码中,我不知道
general
可能意味着什么/包含什么。您需要一个大概的general=client.get_频道(…一些…id)。