你好,我想在discord机器人中添加serverinfo命令,但是由于我是discord.py的初学者,所以我找不到cmd。有人可以在discord.py中告诉我serverinfo的命令吗:)
答案 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)
答案 3 :(得分:0)
如果其他人正在寻找一个好的 serverinfo 命令,这就是我写的。
{{1}}
该命令将显示服务器 ID、所有者、位置、创建日期、成员、频道、验证、功能和启动。