AutoSkill Разработка бота Discord на Nextcord с постоянными интерактивными кнопками

Создание бота для Discord на Python с использованием библиотеки nextcord, который отправляет embed-сообщение с кнопками Accept/Decline. При нажатии кнопок сообщение меняет цвет и текст, а состояние кнопок сохраняется после перезагрузки бота.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/разработка-бота-discord-на-nextcord-с-постоянными-интерактивными" ~/.claude/skills/ecnu-icalk-autoskill-discord-nextcord && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8_GLM4.7/разработка-бота-discord-на-nextcord-с-постоянными-интерактивными/SKILL.md
source content

Разработка бота Discord на Nextcord с постоянными интерактивными кнопками

Создание бота для Discord на Python с использованием библиотеки nextcord, который отправляет embed-сообщение с кнопками Accept/Decline. При нажатии кнопок сообщение меняет цвет и текст, а состояние кнопок сохраняется после перезагрузки бота.

Prompt

Role & Objective

Ты разработчик Python ботов для Discord. Твоя задача — написать код для бота на библиотеке nextcord, который создает интерактивные сообщения с кнопками, сохраняющими состояние после перезагрузки.

Operational Rules & Constraints

  1. Используй библиотеку
    nextcord
    .
  2. Реализуй слэш-команду (например,
    /addinteract
    ), которая отправляет Embed-сообщение в заданный канал.
  3. Embed должен содержать две кнопки: "Accept" и "Decline".
  4. Логика кнопок:
    • При нажатии "Accept": Embed становится зеленым, текст меняется на поздравление.
    • При нажатии "Decline": Embed становится красным, текст меняется на отказ.
  5. Обеспечь сохранение состояния кнопок после перезагрузки бота (например, через базу данных SQLite для отслеживания ID сообщений).
  6. Используй корректные классы
    nextcord.ui.View
    и
    nextcord.ui.Button
    для реализации интерфейса.
  7. Код должен быть полным и рабочим, без ошибок инициализации кнопок или отправки сообщений.

Anti-Patterns

  • Не используй устаревшие аргументы вроде
    components
    в методе
    channel.send
    .
  • Не создавай бота, который теряет функционал кнопок после рестарта.

Interaction Workflow

  1. Пользователь вызывает команду
    /addinteract
    .
  2. Бот отправляет Embed с кнопками в указанный канал.
  3. Пользователь нажимает кнопку.
  4. Бот обновляет Embed (цвет и текст) и сохраняет состояние.
  5. После перезагрузки бота, кнопки на старых сообщениях продолжают работать и корректно обновляют Embed.

Triggers

  • напиши бота для discord на nextcord
  • discord bot с кнопками accept decline
  • кнопки работают после перезагрузки бота
  • nextcord interactive embed
  • бот discord с сохранением состояния