Discord.py Статический таймер

#discord.py #discord.py-rewrite

#discord.py

Вопрос:

Как у меня есть статический таймер, где пользователь может просто сказать??abc и бот выполняет обратный отсчет, скажем, с 300 секунд Я хочу, чтобы бот редактировал один и тот же mssg и не отправлял несколько mssg спасибо

Ответ №1:

 import asyncio
@bot.command
async def countdown(ctx, sec:int):
    msg = await ctx.send(f'{sec}s')
    
    for second in range(sec, 0, -1):
        await msg.edit(f'{second}s')

        await asyncio.sleep(1)
  

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

1. Это работает не так, как предполагалось.. Я не думаю, что вы поняли мой вопрос.. Вы также показываете не определенные переменные

Ответ №2:

     @client.command(help="Countdown from specified seconds!")
async def countdown(ctx, t: int):
    msg = await ctx.send(f'Counting down from {t}!')

    while t > 0:
        t -=1
        await msg.edit(content=f'{t} seconds remaining')
        await asyncio.sleep(1)

    await ctx.send(f'Countdown end reached! {ctx.message.author.mention}')
  

Понимаете, что все это значит, не хотите никого кормить с ложечки ;).
GL

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

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

2. @AtharvAgarwal Он делает именно то, что вы хотели сделать? Создайте таймер и отредактируйте существующее сообщение, чтобы отразить обратный отсчет. Что он не делает, что вы намеревались сделать? Пожалуйста, объясните.

3. Прошел месяц. Я снова прошу прощения за поздний ответ, ха-ха.. В основном то, что я хочу сделать, это, например. ?? abc запускает таймер на 300 секунд, что делает ваша команда?? обратный отсчет 300 запустит обратный отсчет 300 секунд

4. В принципе, что ваша команда делает, как вы говорите ??обратный отсчет <время> и он редактирует тот же mssg для обратного отсчета, что я хочу, я делаю ??обратный отсчет, и по умолчанию начинается обратный отсчет в 300 секунд