公会ID不正确

Posted

技术标签:

【中文标题】公会ID不正确【英文标题】:incorrect Guild ID 【发布时间】:2022-01-14 19:18:41 【问题描述】:

错误原因

discord_slash.error。不正确的公会 ID 类型: 给出的雪花 ID 520499240150106148 不是整数列表。由于 discord.py 约定,请改用整数 ID。此外,“正在播放”命令将被停用并中断,直到修复为止。

代码

@slash.slash(
    name="nowplaying",
    description="Command to check what song is currently playing",
    guild_ids=(os.getenv("GUILD_IDS")),
)
async def nowplaying(ctx):
    try:
        if not Vc.is_playing():
            await ctx.reply("I need to play something first")
    except:
        await ctx.reply("I need to play something first")
    else:
        song_info = get_info.info(Tune)
        embed = discord.Embed(color=0xC0F207)
        embed.set_author(name="Now Playing ????", icon_url=ctx.guild.icon_url).add_field(
            name="Playing", value=f"song_info[1] - song_info[0]", inline=False
        ).set_footer(
            text="This bot is still in development, if you have any queries, please contact the owner",
            icon_url=(ctx.author.avatar_url),
        )
        if song_info[2] is not None:
            embed.add_field(name="Album", value=f"song_info[2]", inline=True)
            if albumart is not None:
                try:
                    embed.set_thumbnail(url=albumart[song_info[2]])
                except KeyError:
                    logging.warning("No Albumart found")
                    pass
        else:
            pass

        await ctx.send(embed=embed)

我对此感到非常困惑......

【问题讨论】:

从错误来看,它似乎希望某个公会ID作为一个列表中的整数,即使它只是一个ID。也许像[ID] 这样的东西可以代替ID 【参考方案1】:

您使用的斜杠命令库要求您将公会 ID 作为整数传递。但是,os.getenv() 返回字符串。您可以使用int() 函数将字符串转换为整数。

另一个问题是你试图传递一个元组,但因为你只有一个值,python 认为你只是想给os.getenv() 调用加上括号。解决方案是在右括号之前添加一个逗号。

这就是您的代码的样子:

@slash.slash(
    name="nowplaying",
    description="Command to check what song is currently playing",
    guild_ids=(int(os.getenv("GUILD_IDS")),),
)
async def nowplaying(ctx):
    # Your code here

【讨论】:

以上是关于公会ID不正确的主要内容,如果未能解决你的问题,请参考以下文章

我如何在 discord.js 中拥有公会的数量

如何在 Discord.NET 中通过公会 ID 和频道 ID 发送消息

有没有办法在不加入公会的情况下从提及中获取用户的 ID?

公会信息上的不和谐 api 未经授权

Discord.js - 公会 ID 未定义,即使有定义

discord api将用户添加到公会