Discord.py的ServerInfo命令

时间:2020-07-28 09:55:57

标签: python command discord discord.py

你好,我想在discord机器人中添加serverinfo命令,但是由于我是discord.py的初学者,所以我找不到cmd。有人可以在discord.py中告诉我serverinfo的命令吗:)

4 个答案:

答案 0 :(得分:2)

https://discordpy.readthedocs.io/en/latest/api.html#guild 您可以使用以下方式获取公会(Discord服务器):

client.get_guild(guild_ID)

然后您可以使用guild.name,guild.icon,...获得所有不同的信息。

答案 1 :(得分:0)

我使用了这段代码,它应该可以满足您的需求。尽管我希望有一个更详细的问题,但这样我可以用更好的格式回答。

@RestController @RequestMapping(value = "/") public class HomeController { @GetMapping("") public String home() { return "index"; } } 变量可以描述服务器或使用命令的位置。

然后,您只需添加诸如服务器guild等之类的东西。

我认为您也可以在列表中为此添加角色,但是现在,这是我使用的代码。

id

p.s。我是python和discord.py的初学者,对不起,如果没有帮助。

答案 2 :(得分:0)

我是这样写的

@commands.has_any_role('Owner', 'Head Dev', 'Head Admin', 'Admins', 'Moderator', 'Community Helper', 'Team Leader', 'Head Team Member')
async def serverinfo(self, ctx):

    role_count = len(ctx.guild.roles)
    list_of_bots = [bot.mention for bot in ctx.guild.members if bot.bot]
    staff_roles = ["Owner", "Head Dev", "Dev", "Head Admin", "Admins", "Moderators", "Community Helpers", "Members"]
        
    embed2 = discord.Embed(timestamp=ctx.message.created_at, color=ctx.author.color)
    embed2.add_field(name='Name', value=f"{ctx.guild.name}", inline=False)
    embed2.add_field(name='Owner', value=f"Mekasu, Kastien", inline=False)
    embed2.add_field(name='Verification Level', value=str(ctx.guild.verification_level), inline=False)
    embed2.add_field(name='Highest role', value=ctx.guild.roles[-2], inline=False)
    embed2.add_field(name='Contributers:', value="None")

    for r in staff_roles:
        role = discord.utils.get(ctx.guild.roles, name=r)
        if role:
            members = '\n'.join([member.name for member in role.members]) or "None"
            embed2.add_field(name=role.name, value=members)

    embed2.add_field(name='Number of roles', value=str(role_count), inline=False)
    embed2.add_field(name='Number Of Members', value=ctx.guild.member_count, inline=False)
    embed2.add_field(name='Bots:', value=(', '.join(list_of_bots)))
    embed2.add_field(name='Created At', value=ctx.guild.created_at.__format__('%A, %d. %B %Y @ %H:%M:%S'), inline=False)
    embed2.set_thumbnail(url=ctx.guild.icon_url)
    embed2.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
    embed2.set_footer(text=self.bot.user.name, icon_url=self.bot.user.avatar_url)

    channel = self.bot.get_channel(staff_commands)
    await channel.send(embed=embed2)

使用the docs here

答案 3 :(得分:0)

如果其他人正在寻找一个好的 serverinfo 命令,这就是我写的。

{{1}}

该命令将显示服务器 ID、所有者、位置、创建日期、成员、频道、验证、功能和启动