我目前正在開發一個在用戶離開時洗掉頻道的系統。該系統的作業原理是,當用戶請求時,使用命令創建頻道,并將成員 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
任何幫助將不勝感激,謝謝!
uj5u.com熱心網友回復:
.find_one()回傳表示檔案的字典。所以,你可以做
memberid = channelfind.find_one({"member_id": member.id})
print(memberid['channel_id'])
得到channel_id.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/406691.html
標籤:
