Я хочу сделать кулдаун для кнопки, но я не знаю как это сделать. Я знаю что можно сделать кулдаун для команды:
@commands.cooldown(1, 21600, commands.BucketType.user)
код:
class Piar(disnake.ui.Modal):
def __init__(self):
comp = [
disnake.ui.TextInput(
label="Название сервера",
placeholder="SenpaiLend ",
custom_id="название",
style=TextInputStyle.short,
max_length=50
),
disnake.ui.TextInput(
label='Описание сервера',
placeholder='Мой сервер...',
custom_id="описание",
style=TextInputStyle.paragraph,
max_length=4000
),
disnake.ui.TextInput(
label='Ссылка на сервер',
placeholder='https://discord.gg/xxxxxxxxxx',
custom_id='ссылка',
style=TextInputStyle.short,
max_length=45
)
]
super().__init__(
title="Пиар вашего сервера",
custom_id="create_tag",
components=comp,
timeout=2000
)
async def on_error(self, error: Exception, inter: disnake.ModalInteraction):
await inter.response.send_message(f"Произошла ошибка!\n```{error}```")
async def callback(self, inter: disnake.ModalInteraction):
embed = disnake.Embed(color=0xff0000)
for key, value in inter.text_values.items():
embed.add_field(
name=key.capitalize(),
value=value[:1024],
inline=False,
)
await inter.response.send_message("Готово!", ephemeral=True)
channel = bot.get_channel(1077436355367407717)
hi = Button(label="Создать пост", style=disnake.ButtonStyle.green, emoji='')
async def hi_callback(interaction):
await interaction.response.send_modal(modal=Piar())
hi.callback = hi_callback
myview = View()
myview.add_item(hi)
await channel.send(embed=embed, view=myview)
@bot.slash_command(name='пиар', description="Команда для пиара")
async def tagg(ctx):
hi = Button(label="Создать пост", style=disnake.ButtonStyle.green, emoji='')
async def hi_callback(interaction):
await interaction.response.send_modal(modal=Piar())
hi.callback = hi_callback
myview = View()
myview.add_item(hi)
await ctx.send("Пиар серверов!", view=myview)