Мне нужна помощь с командой custom_role. Он должен быть создан для роли пользователя с произвольным именем и цветом.
Пока у меня есть только:
@Bot.command()
async def custom_role(ctx):
await ctx.guild.create_role(name = "role")
emb = discord.Embed(description = "Role created!", color = 0x2ecc71)
await ctx.send(embed = emb)
В чем ошибка? Чего вы хотите достичь?
У меня нет никакой ошибки, я просто хочу сделать команду, которая может создать пользовательскую роль для пользователя, эта роль должна иметь собственное имя и цвет
@selion, не лучше ли было бы иметь набор цветовых ролей и позволить пользователям выбирать из этих цветов? Это просто продолжало бы делать все больше и больше ролей. Лично я считаю, что это плохая идея.
Нет, я хочу добавить эту команду в экономический бот, чтобы он больше не создавал роли, я также забыл, что я хочу, чтобы эта команда создавала временные пользовательские роли, но это не проблема, я просто не знаю как сделать команду, которая может создавать пользовательские роли
Вы почти закончили, вы можете передать имя роли и цвет в качестве параметров и создать пользовательскую роль с указанными так:
@Bot.command()
async def custom_role(ctx, colour: str, *, name: str):
colour = discord.Color(value=int(colour, 16))
await ctx.guild.create_role(name = name, colour=colour)
emb = discord.Embed(description = "Role created!", color = 0x2ecc71)
await ctx.send(embed = emb)
Пример использования (при условии, что префикс '!'):
!custom_role 0xa83232 test role # Creates a role named 'test role' in the color red
Большое спасибо, это очень полезно. Я пытался использовать ":str", но я делал это неправильно.
Возможно, это поможет:
@Bot.command()
async def custom_role(ctx):
permissions = discord.Permissions()
await ctx.guild.create_role(name = 'role', colour = discord.Colour(0x2ecc71), permissions = permissions)
Подробнее о разрешениях здесь.
что не так с кодом?