Библиотека `disnake` (ранее известная как `discord.py`) позволяет создавать интерактивные компоненты, такие как кнопки, которые можно прикрепить к сообщениям. Чтобы создать несколько рядов кнопок, вы можете использовать `disnake.ui.ActionRow`. Каждый объект `ActionRow` может содержать до 5 компонентов (кнопок, селекторов и так далее). Выглядеть это будет примерно так:
```python
import disnake
from disnake.ext import commands
from disnake.ui import Button, ActionRow
bot = commands.Bot(command_prefix="!")
@bot.event
async def on_ready():
print(f'Logged in as {bot.user.name}')
@bot.command()
async def send_buttons(ctx):
embed = disnake.Embed(title="My Embed", description="Here are some buttons!", color=disnake.Color.blue())
# Создаем кнопки
buttons_row_1 = [
Button(label=f"Button{i}", custom_id=f"custom_id_{i}") for i in range(1, 7)
]
buttons_row_2 = [
Button(label=f"Button{i}", custom_id=f"custom_id_{i}") for i in range(7, 9)
]
# Упаковываем кнопки в ряды
action_row_1 = ActionRow(*buttons_row_1)
action_row_2 = ActionRow(*buttons_row_2)
# Отправляем embed и кнопки
await ctx.send(embed=embed, components=[action_row_1, action_row_2])
bot.run('YOUR_TOKEN')
```
В этом примере, когда вызывается команда `send_buttons`, будет отправлено embed-сообщение с двумя рядами кнопок под ним: 6 кнопок в первом ряду и 2 во втором. Обратите внимание, что у каждой кнопки есть свой `label` и `custom_id`, параметры которые должны быть уникальными в контексте сообщения.
Примечание: в примере используются кнопки без заданных обработчиков событий, поэтому вы должны добавить обработку нажатий на кнопки в соответствии с требованиями вашего бота.
Не забудьте заменить `'YOUR_TOKEN'` на фактический токен вашего бота.