亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我不斷收到 AttributeError: 'Bot' object has no

我不斷收到 AttributeError: 'Bot' object has no

弒天下 2023-08-08 14:58:14
我正在嘗試在多服務器機器人上制作全球 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)


查看完整回答
反對 回復 2023-08-08
?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

fetch_member是一種Guild對象方法,您可以使用bot.get_guild檢索它



查看完整回答
反對 回復 2023-08-08
?
慕標琳琳

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)))


查看完整回答
反對 回復 2023-08-08
  • 3 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號