Хочу сделать команду autoclear и присвоить ее каналу, но не пойму как это реализовать? Discord.py
Хочу сделать команду autoclear и присвоить ее каналу, саму команду уже тысячу раз нашел, но она не работает и не удаляет ничего, хоть она и сделана для всех каналов, но я ее исключил из списка и пытаюсь написать свою, но не выходит так как только начал изучать питон и начал изучать с Бота для дискорда. Помогите разобраться с проблемой. Вот код:
@bot.event
async def on_ready():
print('Я запущен!')
bot.loop.create_task(status_task())
channel = bot.get_channel(972431181624791060) # replace `channel_id` with an actual channel ID
await channel.purge(limit=0) # change `x` accordingly...
await asyncio.sleep(5)
Ответы (2 шт):
Автор решения: Corrygan
→ Ссылка
Не очень понял, почему вы пишете, что хотите создать команду, но прикладываете код с ивентом. Конкретно в вашем коде ошибка в том, что limit=0, то есть вы удаляете 0 сообщений.
@bot.command()
async def delete(ctx, amount: int = None):
if ctx.channel.id == ид канала:
await ctx.channel.purge(limit=amount)
else:
await ctx.send('В этом канале нельзя использовать данную команду!')
Автор решения: y0uSh4
→ Ссылка
я разобрался уже со всем Если кому нужно, то вот
@bot.event
async def on_message(message):
await bot.process_commands(message) # чтобы команды работали
if message.channel.id == 972431181624791060:
await asyncio.sleep(3600)
await message.delete()
@bot.event
async def on_ready():
print('Я запущен!')
bot.loop.create_task(status_task())
channel = bot.get_channel(972431181624791060)
await channel.purge(limit=0)
await schedule_daily_message1()