【发布时间】:2021-01-22 23:02:24
【问题描述】:
所以我和一个朋友已经研究了这个 AFK 代码,我们完成了除了提及之外的所有事情。该机器人应该检查提到的某人是否是 AFK,如果是,它应该发送一条消息说明他们为什么是 AFK。
@client.command()
async def afk(ctx, *, reason=None):
embed = discord.Embed(timestamp=ctx.message.created_at, color=0x00ffff)
embed.set_footer(text="Olympia Gaming")
post = {
"member": ctx.message.author.id,
"reason": reason,
"date": str(ctx.message.created_at)
}
if reason == None:
collection.insert_one(post)
embed.add_field(name=f"{ctx.author.name} is now AFK", value="Reason: No reason specified.")
await ctx.send(embed=embed)
else:
collection.insert_one(post)
embed.add_field(name=f"{ctx.author.name} is now AFK", value=f"Reason: {reason}", inline=False)
await ctx.send(embed=embed)
@client.event
async def on_message(message):
embed = discord.Embed(timestamp=message.created_at, description="You have been removed from AFK.", color=0x00ffff)
results = collection.find({"member": message.author.id})
for result in results:
collection.delete_one(result)
await message.channel.send(embed=embed)
上面的代码可以正常工作。
if message.mentions
results = collection.find({"member": message.author.id})
for result in results:
collection.delete_one(result)
if message.content == result:
await message.channel.send(f"This person is currently AFK")
await client.process_commands(message)
我没有收到任何错误,但我也希望机器人在提到它们时显示它们被取消的原因。有人可以帮忙吗?
【问题讨论】:
标签: python python-3.x mongodb discord.py discord.py-rewrite