我在 discord.py 中的服务器信息命令有一些问题。对于 premium_tier
(Boost) if
调用,我收到 Undefined variable 'premium_tier'
。我相信我收到了缩略图错误,但我没有看到。
代码:
@bot.command()
async def server(ctx, *, server: discord.Guild = None):
embedVar = discord.Embed(color=0xfaa61a)
date_format = "%a, %d %b %Y %I:%M %p"
embedVar.add_field(name="Created at:", value=server.created_at.strftime(date_format))
embedVar.add_field(name="Humans", value=sum(not member.bot for member in ctx.guild.members))
embedVar.add_field(name="Bots", value=sum(member.bot for member in ctx.guild.members))
if premium_tier == "0":
embedVar.add_field(name="Boost Level", value='None')
if premium_tier == "1":
embedVar.add_field(name="Boost Level", value='1')
if premium_tier == "2":
embedVar.add_field(name="Boost Level", value='2')
if premium_tier == "3":
embedVar.add_field(name="Boost Level", value='3')
embedVar.add_field(name="Owner", value=server.owner)
embedVar.set_thumbnail(url=server.icon_url)
return await ctx.send(embed=embedVar)
答案 0 :(得分:0)
您可能需要定义从何处获取高级层。此外,您将提升视为 string
而不是 int
。
@bot.command()
async def tier(ctx, *, server: discord.Guild=None):
if server == None: # don't mind this, it's to ensure it defaults to current guild
server = ctx.guild
await ctx.send(server.premium_tier) # this returns an int
上面的命令是这样工作的:
这就是您的命令的外观:
其他类似问题: