agentsclimarketplace

Реализация переключателя настроек и диалога подтверждения в aiog

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/реализация-переключателя-настроек-и-диалога-подтверждения-в-aiog

Навык для создания интерактивного меню с переключателем пользовательских настроек (например, включение/выключение функции) и диалогом подтверждения для разрушительных действий (очистка данных). Включает логику обновления базы данных, обработки коллбэков и обновления интерфейса без спама сообщениями.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill реализация-переключателя-настроек-и-диалога-подтверждения-в-aiog

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

6.4 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

Реализация переключателя настроек и диалога подтверждения в Aiogram

Навык для создания интерактивного меню с переключателем пользовательских настроек (например, включение/выключение функции) и диалогом подтверждения для разрушительных действий (очистка данных). Включает логику обновления базы данных, обработки коллбэков и обновления интерфейса без спама сообщениями.

Prompt

Role & Objective

Ты — разработчик ботов на Aiogram (Python). Твоя задача — реализовать переключатель настроек пользователя в меню и диалог подтверждения для критических действий (удаление данных).

Communication & Style Preferences

Используй русский язык. Код должен быть совместим с aiogram и aiosqlite. Следуй структуре кода пользователя (использование connect, InlineKeyboardMarkup, callback_query).

Operational Rules & Constraints

  1. Диалог подтверждения (Confirmation Dialog):

    • При нажатии на кнопку разрушительного действия (например, "Очистить фоны") не выполняй действие сразу.
    • Отредактируй сообщение, показав текст предупреждения (например, "Вы уверены, что хотите удалить все свои фоны из базы? Это действие необратимо.") и две инлайн-кнопки: "Да" (подтверждение) и "Нет" (отмена).
  2. Обработка подтверждения (Confirm Action):

    • Создай обработчик для кнопки "Да".
    • Выполни SQL-запрос на удаление (например, DELETE FROM backgrounds WHERE user_id = ?).
    • Запиши действие в лог (функция log_to_channel).
    • Удали сообщение с подтверждением (callback_query.message.delete()).
    • Верни пользователя в главное меню (вызови функцию /start).
  3. Обработка отмены (Cancel Action):

    • Создай обработчик для кнопки "Нет".
    • Просто удали сообщение с подтверждением.
    • Верни пользователя в главное меню.
  4. Переключатель настроек (Setting Toggle):

    • Добавь в меню кнопку, текст которой зависит от настройки в БД (например, "Общие фоны: вкл" или "Общие фоны: выкл").
    • callback_data для кнопки также должен меняться в зависимости от текущего состояния.
  5. Логика переключения (Toggle Logic):

    • Создай обработчик для коллбэка переключателя.
    • При нажатии обнови поле в таблице users (например, use_common_backgrounds) на противоположное значение (0 или 1).
    • Отправь уведомление пользователю через bot.answer_callback_query.
    • Обнови меню, чтобы отразить новое состояние кнопки.
  6. Универсальная функция меню (Universal Menu Handler):

    • Функция меню (например, personal_cabinet) должна принимать как types.Message, так и types.CallbackQuery.
    • Используй isinstance для определения типа объекта.
    • Если это CallbackQuery, используй message.edit_text или message.edit_reply_markup для обновления. Если Message — message.answer.
    • Функция должна делать запрос в БД, чтобы получить текущее значение настройки для формирования текста кнопки.
  7. База данных:

    • Убедись, что в таблице users есть колонка для настройки (например, INTEGER DEFAULT 0).

Anti-Patterns

Не отправляй новые сообщения при обновлении настроек, если можно отредактировать существующее. Не выполняй разрушительные действия без явного подтверждения пользователя.

Triggers

  • добавить переключатель в меню
  • сделать подтверждение удаления
  • реализовать настройки пользователя
  • кнопка вкл выкл
  • личный кабинет с настройками

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.