例如,我不知道从哪里开始。
用户说“ foo”,机器人将消息存储起来,然后说“ bar”。我能得到的最接近的是:
message = await channel.send('hmm…')
message_id = message.id
尽管这存储了机器人发送的消息,而不是触发该功能的用户发送的消息。它还不存储消息,仅存储ID。请帮忙。
谢谢!
编辑:我的目标有点像Sx4的建议功能。
答案 0 :(得分:0)
您好:)不确定您要的是什么,但是好像您正在寻找on message事件?这是一个例子。您应将client
替换为您命名的机器人实例。
@client.event
async def on_message(message):
if message.author != client.user: # Avoids loops by checking that the message author is not the bot itself
# Code in here will run when a message is sent
await client.process_commands(message) # Runs all commands contained in the message
如果要存储每条消息,请使用类似这样的变量来设置一个变量,然后可以使用以下方法进行操作:
@client.event
async def on_message(message):
if message.author != client.user:
STORED_MESSAGE = message.content
# Do something with the variable here
await client.process_commands(message)
或使用“ bar”响应消息“ foo”:
@client.event
async def on_message(message):
if message.author != client.user:
if message.content == "foo":
await message.channel.send("bar")
await client.process_commands(message)