我正在尝试在多服务器机器人上制作全球 XP 排行榜。如果我有的话,entry[0]我会把他们的 ID 发布到嵌入中。请帮助 tyty 高级 <3class Menu(ListPageSource): def __init__(self, ctx, data): self.ctx = ctx super().__init__(data, per_page=10) async def write_page(self, menu, offset, fields=[]): offset = (menu.current_page*self.per_page) + 1 len_data = len(self.entries) embed = Embed(title="XP Leaderboard", description="See who is on top!", colour=self.ctx.author.colour) embed.set_thumbnail(url=self.ctx.guild.me.avatar_url) embed.set_footer(text=f"{offset:,} - {min(len_data, offset+self.per_page-1):,} of {len_data:,} members.") for name, value in fields: embed.add_field(name=name, value=value, inline=False) return embed async def format_page(self, menu, entries): offset = (menu.current_page*self.per_page) + 1 fields = [] table = ("\n".join(f"{idx+offset}. {self.ctx.bot.fetch_member(entry[0]).display_name} (XP: {entry[1]} | Level {entry[2]})" for idx, entry in enumerate(entries))) fields.append(("Ranks", table)) return await self.write_page(menu, offset, fields)更新:更新了我的表字符串,现在出现此错误,仍然不知道如何修复任何内容。 table = ("\n" + f"{idx+offset}. {await self.ctx.bot.fetch_user(entry[0]).display_name} (XP: {entry[1]} | Level {entry[2]}" for idx, entry in enumerate(entries))``````py<async_generator object Menu.format_page.<locals>.<genexpr> at 0x04A49A90>(^ 发送嵌入内容)
3 回答
湖上湖
TA贡献2003条经验 获得超2个赞
你所做的是一个发电机。你想要一个列表理解:
table = [x.do_stuff() for x in some_iterable]
这是一个生成器:
a = (x.do_stuff() for x in some_iterable)
慕标琳琳
TA贡献1830条经验 获得超9个赞
通过传入我的导入所在的“from lib.bot import bot”来修复它,然后拥有这个
table = ("\n".join(f"{idx+offset}. {bot.get_user(entry[0]).name} (XP: {entry[1]} | Level: {entry[2]})" for idx, entry in enumerate(entries)))
添加回答
举报
0/150
提交
取消