如何在 discord.py 中找到相同 mongodb 条目的不同部分
How can I find different parts of the same mongodb entry in discord.py
我目前正在开发一个在用户离开时删除频道的系统。该系统的工作原理是,当用户请求时,使用命令创建频道,会员id和频道id存储在mongodb中,如下图所示:
我目前的代码是:
@commands.Cog.listener()
async def on_member_remove(self, member):
channelfind = cluster["Channels"]["info"]
if member.guild.id == testid:
joinedat = diskord.utils.utcnow() - member.joined_at
time = humanize.precisedelta(joinedat, format="%0.0f")
embed = diskord.Embed(title="\u200b", color=0xfc8eac)
embed: Embed = diskord.Embed(
description= f'**{member.mention} left the server**\n:timer: **Joined:**\n{time} ago',
color=0xfc8eac
)
embed.set_author(name=member, icon_url=member.avatar.url)
embed.set_thumbnail(url=member.avatar.url)
embed.timestamp = datetime.datetime.utcnow()
embed.set_footer(text=f'ID: {member.id} \u200b ')
memberid = channelfind.find_one({"member_id": member.id})
if memberid is not None:
log = testlog
await self.bot.get_channel(log).send(embed=embed)
else:
pass
但是,我不确定如何找到已离开
的用户的member_id所在的channel_id
如有任何帮助,我们将不胜感激!
.find_one()
returns 表示文档的字典。所以,你可以做
memberid = channelfind.find_one({"member_id": member.id})
print(memberid['channel_id'])
获取 channel_id
.
我目前正在开发一个在用户离开时删除频道的系统。该系统的工作原理是,当用户请求时,使用命令创建频道,会员id和频道id存储在mongodb中,如下图所示:
我目前的代码是:
@commands.Cog.listener()
async def on_member_remove(self, member):
channelfind = cluster["Channels"]["info"]
if member.guild.id == testid:
joinedat = diskord.utils.utcnow() - member.joined_at
time = humanize.precisedelta(joinedat, format="%0.0f")
embed = diskord.Embed(title="\u200b", color=0xfc8eac)
embed: Embed = diskord.Embed(
description= f'**{member.mention} left the server**\n:timer: **Joined:**\n{time} ago',
color=0xfc8eac
)
embed.set_author(name=member, icon_url=member.avatar.url)
embed.set_thumbnail(url=member.avatar.url)
embed.timestamp = datetime.datetime.utcnow()
embed.set_footer(text=f'ID: {member.id} \u200b ')
memberid = channelfind.find_one({"member_id": member.id})
if memberid is not None:
log = testlog
await self.bot.get_channel(log).send(embed=embed)
else:
pass
但是,我不确定如何找到已离开
的用户的member_id所在的channel_id如有任何帮助,我们将不胜感激!
.find_one()
returns 表示文档的字典。所以,你可以做
memberid = channelfind.find_one({"member_id": member.id})
print(memberid['channel_id'])
获取 channel_id
.