@0PinguiDev9

Взял команду clear из рандом сайта, а команда очищает весь канал, почему?

Взял с рандом сайта код команды 'clear', про тестил, а отчистился весь канал

@bot.command()
async def clear(ctx, amount=None):
    await ctx.channel.purge(limit=int(500))
    await ctx.channel.send(':: Сообщения успешно удалены')
  • Вопрос задан
  • 89 просмотров
Решения вопроса 2
@Telmor
Строчку
await ctx.channel.purge(limit=int(500))

Измените на:

await ctx.channel.purge(limit = 1) # для удаления сообщения которое вызывает команду
deleted = await ctx.message.channel.purge(limit=amount) #само удаление сообщений.
Ответ написан
Комментировать
mohovoy
@mohovoy
Что-то там программирую, кто бы знал что именно?
В коде написано, что будет удаляться последние 500 сообщений. Что бы изменить, нужно после limit поставить своё число
А если хотите удалять сообщения в нужном кол-ве, точнее сколько вам нужно, то:
@bot.command()
async def clear(ctx, amount: int = None):
    if amount:
        await ctx.channel.purge(limit=amount)
        await ctx.channel.send(':: {amount} сообщений были успешно удалены'.format(amount))
    else:
        await ctx.channel.send(':: Укажите кол-во сообщений для удаления')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
отчистился весь канал

Не весть, а последине 500 сообщений.
Если хоть немного понимаете синтаксис питона (в чем я не особо уверен из-за постановки вопроса), как сделать так, как вам нужно - поймете.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы