Как заставить его перевернуться несколько раз

#discord #discord.py

#Discord #discord.py

Вопрос:

Я пытаюсь получить возможность указать, сколько наборов кубиков они хотят бросить. в настоящее время, если они хотят бросить три набора а d100 , они должны ввести команду 3 раза. Я хочу, чтобы они могли вводить подобную сумму !3d100 и заставлять ее катиться 3 раза?

 @client.command(name='d100', help='Rolls a d100 sice')
async def dice(context):
    diceEmbed = discord.Embed(title="Rolling for "   str(context.message.author.display_name), color=0xCC5500)
    roll = (random.randint(1, 100))
    url = "http://157.230.225.61/images/dice/d100/d100_{:03}.png"
    url = url.format(roll)

    diceEmbed.set_image(url=url)
    diceEmbed.add_field(name="d100", value=roll, inline=True)

    if roll == 1:
        diceEmbed.set_footer(text="FUMBLE")

    await context.message.channel.send(embed=diceEmbed)
 

Ответ №1:

Прежде всего рассмотрите возможность использования f string . Вам нужно будет добавить ввод в вашу команду !dice 3 , это даст вам 3 броска, если никакое количество не указано только 1.

Имейте в виду, что во встраивании вы можете разместить только одно изображение, поэтому я взял самое высокое, по вашему мнению.

 @bot.command()
async def dice(ctx, amount: int = 1):

    diceEmbed = discord.Embed(title=f"Rolling for {ctx.message.author.display_name}", color=0xCC5500)
    max_roll = 0

    for i in range(amount):
        roll = (random.randint(1, 100))
        if roll > max_roll:
            url = f"http://157.230.225.61/images/dice/d100/d100_{roll:03d}.png"
            max_roll = roll

        diceEmbed.add_field(
            name=f"Role number {i 1}", value=roll, inline=False)

        if roll == 1:
            diceEmbed.set_footer(text="FUMBLE")

    # You can have only one image which is the highest
    diceEmbed.set_image(url=url)
    await ctx.message.channel.send(embed=diceEmbed)
 

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

1. Так что это отличный момент, как бы мне сделать так, чтобы он принимал только изображение самого высокого броска?

2. Конечно, я добавил это выше