Командная косая черта discord py

Обновлено: 04.07.2024

Команды косой черты будут добавлены в API разногласий с 15 декабря. Они предоставляют новый способ для ботов/интеграций разногласий.

Идеальное решение

Способ добавления слэш-команд как части discord.py

Текущее решение

В настоящее время ничего не существует

Обзор

Добавить поддержку новых косых команд Discord

Текст был успешно обновлен, но возникли следующие ошибки:

прокомментировал polyjitter 27 декабря 2020 г. •

Я полагаю, что большинство людей, следящих за этим репозиторием, также будут в курсе из других источников, но передаю это как обновление моего предыдущего комментария, тег, связанный с командами косой черты с сервера discord.py:

  • отсутствует система аргументов по умолчанию — аргумент не передается, если вы не передаете его, что затрудняет обработку
  • нет системы Union/Optional, такой как dpy
  • не может обрабатывать аргументы самостоятельно - необходимо использовать парсер
  • нет возможности вызвать групповую команду — можно вызывать только подкоманды
  • нет псевдонимов команд
  • Максимум 15 минут на команду — токен действует 15 минут
  • можно скрыть только одно сообщение (первое)
  • скрытые сообщения не могут быть встроены
  • без токена бота вы ничего не можете сделать, кроме отправки сообщений и т. д. — никакого взаимодействия с API
  • вы получаете идентификаторы только для параметров - если параметр является пользователем, вы получаете только его идентификатор
  • при использовании интеграции на основе веб-перехватчиков вы не можете получать какие-либо другие события, поэтому вы ограничены командами

kaylynn234 прокомментировал 19 января 2021 г.

Сейчас считается, что слэш-команды в целом не находятся на том этапе, когда стоит реализовывать для них библиотечную поддержку. Если в будущем система в целом будет улучшена, это может измениться, но сейчас, вероятно, лучше сидеть сложа руки или использовать вилку, как упоминалось ранее.

Znunu прокомментировал 20 января 2021 г.

Что здесь произошло?

ShadowJonathan прокомментировал 20 января 2021 г.

@Znunu кто-то спамит комментарии о (текущем) удобстве использования слэш-команд, не беспокойтесь об этом

Прокомментировал MrSpinne 20 января 2021 г.

remyjette прокомментировал 20 января 2021 г.

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

Пользователям не нужно делать !help, чтобы узнать, какие команды доступны (что также загромождает канал), они могут просто ввести / и просмотреть все доступные команды с описаниями. И когда они вводят, пользовательский интерфейс отображает, какие аргументы они могут передавать, а также какие аргументы требуются. Если у аргумента есть ограниченный набор параметров, он отображается гораздо чище. Конечно, вы можете предоставить эту информацию через !help , но просмотр длинного !help не очень удобен для пользователя (плюс вам нужно знать, какой префикс настроен для бота, чтобы даже вызвать !help, если это не так! )

прокомментировал goverfl0w 22 января 2021 г.

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

Ваша идеальная библиотека взаимодействий Discord для discord.py.

Что такое discord-py-взаимодействия?

discord-py-interactions — это, проще говоря, расширение библиотеки, которое основано на существующей в настоящее время оболочке API discord.py. Хотя мы используем собственный код базового класса для нашей собственной библиотеки, большая часть этой библиотеки использует базовые события discord.py, чтобы сделать контекстуализацию взаимодействий относительно простой для нас.

Когда это началось?

В середине декабря 2020 года Discord выпустил самый первый тип компонентов — слэш-команды. Они были относительно примитивными во время своего дебюта, однако со временем они постепенно становились более сложными и изменчивыми. Эта библиотека была создана через 2 дня после выпуска слеш-команд в Discord и с тех пор активно пополняется.

Что мы сейчас поддерживаем?

В настоящее время мы можем предоставить вам неполный список (поскольку Discord в настоящее время активно создает больше взаимодействий) всех компонентов, интегрированных как взаимодействия:

  • Команды косой черты
  • Кнопки
  • Выборы (также известные как раскрывающиеся списки или меню)

Мы рекомендуем использовать pip для установки нашей библиотеки. Вы можете сделать это, введя следующую строку ниже:

pip install -U discord-py-interactions

Команды косой черты

В этом примере показано очень быстрое и простое решение для реализации команды косой черты.

Этот пример служит альтернативным методом использования косой черты в шестеренке.

Кнопки

В этом базовом примере показано, как легко интегрировать кнопки в ваши команды. Кнопки не ограничиваются командами косой черты и могут использоваться и в обычных командах discord.py.

Дополнительно

Для более продвинутого использования см. нашу официальную документацию по кнопкам здесь.

Выбирает

В этом базовом примере показано, как добавить выборки в нашего бота. Элементы выбора предлагают те же возможности доступа, что и кнопки, но с некоторыми ограничениями.

Дополнительно

Для более продвинутого использования обратитесь к нашей официальной документации по выбору здесь.

Контекстные меню

В этом простом примере показано, как добавить контекстное меню сообщения.

Дополнительно

Для более продвинутого использования обратитесь к нашей официальной документации по контекстным меню здесь.

Начиная с декабря 2019 года этот проект с открытым исходным кодом стал кульминацией самоотверженных усилий и исследований, направленных на поиск наилучшего способа взаимодействия с Discord: мы представляем собой простую, простую, масштабируемую и модульную библиотеку для взаимодействий в Discord.

Устали использовать многочисленные зависимости модулей для команд и кнопок с косой чертой?

Ищете совместимую библиотеку, реализующую все взаимодействия?

Не терпится освоить слэш-команды, но простым способом?

Не смотрите больше! Цель этой библиотеки — превратить все три вопроса из возможных в тривиальные.

Что мы можем сделать?¶

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

Основные функции нашей библиотеки, созданные с помощью нашего API, включают:

Динамическое создание данных объекта: все данные о событиях, отправляемые из шлюза, динамически преобразуются и генерируются в двусторонне сериализуемые объекты JSON.

Упрощенные модели данных: каждый представленный объект доступен либо как необработанный словарь/приложение/json, либо как список рекурсивных атрибутов.

Еще некоторые уникальные функции, предназначенные исключительно для наших взаимодействий, включают:

Обратные вызовы, инициируемые событиями: будь то компонент, команда приложения или ответ на взаимодействие, вам никогда не придется беспокоиться о соединении ответов.

Двусторонняя логика декоратора: декоратор может выступать как в качестве конструктора для взаимодействия, так и в качестве обратного вызова.

Именование в соответствии со строгим API: больше нет путаницы с подходом к именованию многих библиотек; мы следуем стилю именования взаимодействий из официальной документации Discord Developers.

Что мы не предлагаем?¶

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

С течением времени этот список может меняться: некоторые из этих элементов могут быть добавлены в ядро ​​библиотеки в будущем.

Нет собственного декоратора/метода перезарядки.

Отсутствие автоматического сегментирования и голосовых клиентов.

С чего начать?¶

Пожалуйста, посмотрите наши страницы ниже, чтобы узнать, куда идти.

Как я могу помочь?¶

Пожалуйста, ознакомьтесь с нашими требованиями к участию в проекте. Этот проект с открытым исходным кодом также обеспечивает соблюдение лицензии MIT.

В этом проекте с открытым исходным кодом для разработки используются следующие рабочие процессы:

pre-commit 2.16.0 : архитектура использует это перед каждой фиксацией для форматирования и проверки изменений серьезности/нарушающих QOL.

черный 21.11b1

flake8 3.9.2

исортировать 5.9.3

Sphinx 4.1.2: вся наша документация основана на автоматически сгенерированной документации движка Sphinx.

colorama 0.4.4: наш внутренний регистратор использует настраиваемый форматировщик цветов, чтобы упростить поиск определенных условий при выполнении тестов.

Обычные коммиты 1.0.0: каждый коммит, который мы делаем в наших ветках, использует официальную спецификацию CC 1.0.0, чтобы упростить git-графы при улучшении и совершенствовании связи между проверками кода, запросами на включение и коммитами.

Когда я могу начать?¶

Кроме того, у нас есть несколько дополнительных основных правил в отношении внесения каких-либо конкретных взносов, включая:

Мы не принимаем запросы на основе абстракций. (например, цвет для цвета )

Запрос должен быть одобрен хотя бы одним разработчиком.

Вы должны быть готовы изменить/соблюдать отзывы участников, если это необходимо.

Читайте также: