有没有办法只用ID找出行会名称?

时间:2020-01-08 13:42:26

标签: python discord discord.py

为了使用我的机器人,我希望服务器需要许可证。这些具有许可证的服务器存储在阵列中。不幸的是,这只是ID。现在,我要发出命令:“&sv-id [ServerID]”。他目前向我提供ID是否在列表中。接下来,他应该给我发公会的名字。有没有办法获得公会的ID?该命令作为私人消息发送。我的代码(尚未准备好):

if message.author.id == client.AppInfo.owner.id:
    if message.content.startswith(CONFIG.PREFIX + "sv-id"):
        if len(message.content) == 25:
            serverID = message.content[7:25]
            if int(serverID) in CONFIG.AllowedServer:
                guildWithID = client.guilds.id == len(message.content)
                await message.channel.send(":white_check_mark: Server Name: **" + guildWithID.name + "**\n"
                                           "  ServerID: **" + str(serverID) + "**\n")
            else:
                await message.channel.send(":x: Dieser Server existiert nicht, oder ich bin auf diesem Server nicht autorisiert!")

        elif len(message.content) != 25:
            await message.channel.send(":x: Bitte benutze **" + CONFIG.PREFIX + "sv-id [ServerID]**")

2 个答案:

答案 0 :(得分:2)

是的。如果您的机器人在行会中,则可以使用Client.get_guild。否则,您可以使用Client.fetch_guild

有关通过ID检索特定模型的更多信息,请参见the FAQ

答案 1 :(得分:1)

https://codepen.io/Liveindream/pen/zYxReOY。我相信只会得到您的机器人已经加入的行会。

guild = client.get_guild(id)