discord.py пользователь вводит заголовок, используя только одно слово

#python #discord #discord.py

Вопрос:

У меня есть эта команда p!customembed [color] [title] [description] . В основном это то, на что это похоже. Однако есть один недостаток. Я хочу, чтобы мой бот отправил синюю вставку с заголовком «картофель хороший» и описанием «тест». Тем не менее, название «картофель» и описание «являются хорошим тестом». Я думал о разделении заголовка и описания в команде ctx с помощью чего-то вроде / , как p!customembed [color] [title] / [description] разделить их, но я понятия не имею, как это сделать. Кто-нибудь может помочь? Тнх

 @client.command()
async def customembed(ctx, color: discord.Colour, title, *, description):
    embed = discord.Embed(title=title, description=description, color=color)
    await ctx.send(embed=embed)
 

Ответ №1:

Вы можете сделать это с помощью замены color, title, *, description на content , а затем разделить содержимое (вам придется немного переделать свою команду).

Пересмотренный пример:

Команда:

 p!customembed /color/title/description
 

Код:

 @client.command()
async def customembed(ctx, content):
    color, title, description = content.split('/', 3)

    embed = discord.Embed(title=title, description=description, color=int(color))
    await ctx.send(embed=embed)
 

Комментарии:

1. Чтобы сделать это проще, вы также можете сделать color, title, description = content.split('/', 3) то, что также будет работать нормально

2. О, ладно, не знал, что @Bagle