我正在尝试设置一个不和谐机器人,它基本上重复用户在某些条件下所说的内容。为简单起见,条件在问题中无关紧要。我目前的策略是在满足条件时获取日志,然后重复它们。但是,我的代码无效。我正在使用python 3.6.4(我还没有设置重复,我只想发送最后一条消息。) 这是我的代码:
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
请记住,这是我的第一个不和谐机器人,我很难在网上找到有用的信息。
答案 0 :(得分:0)
永远不会定义函数logs_from
,因此您会收到错误。
可能你的意思是:
logs = client.logs_from(general, limit=1)
所以,您需要来自客户端类的方法log_from
。