Как убрать кулдаун команды для определенной роли/администратора в Discord?
Вот код:
@client.command(aliases=['идея', 'ИДЕЯ', 'IDEA'])
@commands.cooldown(1, 60, commands.BucketType.user)
async def idea(ctx,*, idea=None):
if ctx.author.id == 958724597153402892:
await ctx.message.delete()
await ctx.send("ваша идея отправлена разработчикам")
await client.get_channel(settings['ADMINCHAT']).send(f"<@&{(settings['DEVELOPERROLE'])}> Идея от {ctx.author}: \"{(idea)}\"")
print(f'{ctx.author} || {ctx.author.id} отправил идею: \"{(idea)}\"')
Как сделать что бы для определенной роли не было кулдауна на эту команду?
Ответы (1 шт):
Автор решения: Donan
→ Ссылка
@client.command(aliases=['идея', 'ИДЕЯ', 'IDEA'])
@commands.cooldown(1, 60, commands.BucketType.user)
async def idea(ctx,*, idea=None):
if ctx.author.id == 958724597153402892:
role = discord.utils.find(lambda r: r.name == 'название_роли', ctx.message.server.roles)
if role in ctx.message.author.roles:
idea.reset_cooldown(ctx)
await ctx.message.delete()
await ctx.send("ваша идея отправлена разработчикам")
await client.get_channel(settings['ADMINCHAT']).send(f"<@&{(settings['DEVELOPERROLE'])}> Идея от {ctx.author}: \"{(idea)}\"")
print(f'{ctx.author} || {ctx.author.id} отправил идею: \"{(idea)}\"')
else:
await ctx.message.delete()
await ctx.send("ваша идея отправлена разработчикам")
await client.get_channel(settings['ADMINCHAT']).send(f"<@&{(settings['DEVELOPERROLE'])}> Идея от {ctx.author}: \"{(idea)}\"")
print(f'{ctx.author} || {ctx.author.id} отправил идею: \"{(idea)}\"')