问题描述
本质上,我希望机器人浏览频道的消息历史记录,找到包含某些特定文本的消息,然后在同一频道中给出该消息的链接.
Essentially, I want the bot to go through the channel's message history, find a message containing some particular text, and then give out the link to the message in the same channel.
通过文档,我想我将使用 async for message in channel.history(params)
但我无法弄清楚我的特定用例如何.
Going through the documentation, I imagine I will make use of async for message in channel.history(params)
but I cannot figure out how for my particular use case.
推荐答案
你在正确的轨道上,你可以使用 channel.history
来获取消息.然后只需将您的关键字与消息内容进行比较并使用 jump_url
获取该消息的链接.
You're on the right track, you can use channel.history
to get the messages. Then just compare your keyword with the message content and use jump_url
to get the link to that message.
@client.command()
async def keyword(ctx, *, word: str):
channel = client.get_channel(730839966472601622)
messages = await ctx.channel.history(limit=200).flatten()
for msg in messages:
if word in msg.content:
print(msg.jump_url)
这篇关于Discord.py:如何浏览频道历史并搜索特定消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!