Pip install discord py не работает

Обновлено: 03.07.2024

Discord.py — очень мощный API. Он направлен на то, чтобы сделать создание ботов Discord невероятно простым, но при этом дать пользователю много возможностей. Люди создали игровых ботов, ролевых ботов, модерационных ботов, экономических ботов и многое другое! Carl-bot, Auttaja и многие другие боты используют discord.py. С помощью этого руководства вы сможете научиться им пользоваться.

Установка discord.py

Если у вас уже установлен Python, вам следует установить discord.py с помощью

Выйти из полноэкранного режима

Та-да! discord.py готов к использованию!

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

Основы бота

При запуске и создании бота вам нужно решить, использовать ли discord.Client или commands.Bot .

  • Легче, чем commands.Bot.
  • Лучше всего, если вы не собираетесь использовать команды
  • Обширная система команд
  • Лучше всего, если у вашего бота будут команды
  • Поддерживает большое количество кода, разбиваемого на "винтики".
  • Поддерживает простое преобразование объектов разногласий.

В этом руководстве мы создадим бота с командами, поэтому мы будем использовать commands.Bot.

Выйти из полноэкранного режима

Мы только что инициализировали класс как объект. Это похоже на идею изобретения, а затем его создание. Мы определили этот класс для переменной bot, которую можно назвать как угодно. Большинство людей используют бота или клиента .

Теперь, когда наш бот определен, мы можем начать с первых команд. команды discord.py.Bot создает такие команды:

Выйти из полноэкранного режима

Выйти из полноэкранного режима

ctx — это контекст нашей команды, который содержит множество данных, которые можно использовать. У него также есть метод send, который позволит нам отправить сообщение на канал, в котором использовалась команда.

Теперь давайте произнесем имя пользователя команды! Для этого мы можем использовать ctx.author :

Выйти из полноэкранного режима

Теперь, когда мы приветствуем пользователя, он скажет Hello mikey 🌌!

Demo

Поздравляем! Вы только что написали бота с помощью discord.py! Запустите код, и ваш бот должен подключиться к сети! Когда вы наберете !hello , бот ответит!

Окончательный код:

ПСССТ! Нужны ресурсы для веб-разработки? Ознакомьтесь с этой статьей @devlorenzo!

Пакет discord.py для PyPI получает в общей сложности 3 216 008 загрузок в неделю. Таким образом, мы оценили уровень популярности discord.py как ключевой проект экосистемы.

Основываясь на статистике проектов из репозитория GitHub для пакета PyPI discord.py, мы обнаружили, что он был отмечен звездочками 9986 раз и что от него зависят 0 других проектов в экосистеме.

Указанные числа загрузок представляют собой средние еженедельные загрузки за последние 6 недель.

Безопасность

Угроза безопасности и лицензии для последней версии

Мы нашли для вас способ внести свой вклад в проект! Похоже, в discord.py отсутствует политика безопасности.

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

Техническое обслуживание

Частота фиксации

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

Мы обнаружили, что discord.py демонстрирует положительную частоту выпуска версий: по крайней мере одна новая версия была выпущена за последние 12 месяцев.

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

Сообщество

Хороший и полезный внешний сигнал для проекта discord.py, который приглашает более ста специалистов по сопровождению открытого исходного кода для совместной работы над репозиторием.

Мы нашли для вас способ внести свой вклад в проект! Похоже, в discord.py отсутствует Кодекс поведения.

Встроить значок оценки работоспособности пакета

Пакет

Ознакомление

Приглашение на сервер Discord

Современная, простая в использовании, многофункциональная и готовая к асинхронизации оболочка API для Discord, написанная на Python.

Основные особенности

  • Современный Pythonic API с использованием async и await .
  • Правильная обработка ограничения скорости.
  • 100% покрытие поддерживаемого Discord API.
  • Оптимизировано как по скорости, так и по памяти.

Установка

Требуется Python 3.5.3 или выше

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

RedRaycoon спрашивает: Python 3.10 проблем с подключением к Discord
Итак, я пытался подключить python 3.10 к Discord, пару дней искал, как это сделать, и никак не могу понять.< /p>

В оболочке я должен ввести: python3 pip install discord.py или pip install discord или python3 -m pip install -U discord.py

Ни один из них мне не подходит.

Сообщение об ошибке, которое я получаю каждый раз: SyntaxError: недопустимый синтаксис. Возможно, вы забыли запятую?

При размещении запятой между каждым словом (поскольку размещение запятых вокруг менее чем всех из них приводит к тому же сообщению об ошибке, что и раньше ( pip, install, discord ), сообщение об ошибке гласит: Traceback (последний последний вызов): File "

", строка 1, в pip, install, discord NameError: имя "pip" не определено. Вы имели в виду: "zip"?

При использовании zip вместо pip: Traceback (самый последний вызов последним): File "

", строка 1, в zip, install, discord NameError: имя "установить" не определено

Я работаю на Mac и использую Python Launcher/IDLE, если это поможет

Сообщения без ответов

[Решено] Используйте внешнюю мышь с Limbo

  • Фиксдал
  • 3 минуты назад
  • Ответов: 0

Fiksdal спрашивает: Используйте внешнюю мышь с Limbo
Я использую эмулятор ПК Limbo на моем Samsung I9305 с рутованной стоковой версией 4.4.4.

Если я подключаю внешнюю мышь через USB OTG или (предположительно) Bluetooth, на экране появляются два курсора. Курсор Limbo и курсор Android. Чтобы переместить курсор Limbo, мне нужно щелкнуть и перетащить мышь так же, как если бы я использовал сенсорный экран.

Возможно ли иметь только один курсор, который реагирует непосредственно на внешнюю мышь?

[Решено] Курсор MySQL всегда выходит из цикла

  • Джон Доу
  • 3 минуты назад
  • Ответов: 0

john doe Asks: Курсор MySQL всегда выходит из цикла
Запрос курсора и запрос выбора значения возвращают строки, если я запускаю его в mysql, но в курсоре он всегда выходит из цикла. петля.

Что-то не так?

Я добавил "BEFORE LOOP", "EXIT" и "IN LOOP", поэтому он печатается там, где он есть, но всегда начинается с BEFORE LOOP, а затем заканчивается EXIT .

Примечание. Значение столбца часов только что создано.

[Решено] Является ли предоставление Safari полного доступа к диску опасным?

  • Джаспер
  • 13 минут назад
  • Ответов: 0

Джаспер спрашивает: Разрешение полного доступа к диску для Safari опасно?
Я создал интерфейсный инструмент для работы, используя только HTML, CSS и Js. Я пытаюсь, чтобы мои коллеги просто открыли HTML-файл в своих браузерах, но браузер выдает ошибку, требующую, чтобы Safari получил полный доступ к диску.

Известное исправление этой страницы с ошибкой — предоставление Safari полного доступа к диску.

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

[Решено] Как и где загрузить промо-ролики приложения в App Store

  • Ахалья Радж
  • 13 минут назад
  • Ответов: 0

Ахалия Радж спрашивает: Как и где загрузить промо-ролики приложения в App Store
Я пытаюсь загрузить видео, которые должны быть перечислены в магазине приложений.

Я просматриваю множество форумов. Но внятного ответа не получил.

Кто-нибудь может подсказать, как загрузить видео в магазин приложений?

[Решено] iOS: входящие вызовы — показывать название компании при всех вызовах с любого добавочного номера (подстановочный знак?)

  • муэсча
  • 13 минут назад
  • Ответов: 0

muescha Asks: iOS: Входящие вызовы — показывать название компании при всех вызовах с любого добавочного номера (подстановочный знак?)
что делать:

  • я сохраняю контакт, и у него есть добавочный номер +49/030/12345-678 - вот номер руководителя компании 12345 - 12345-0 обычно является стойкой регистрации компании и многими добавочными номерами
  • когда кто-то звонит мне с другого внутреннего номера -> отображается неизвестный абонент
  • мне нравится как-то сохранять его, чтобы при звонках с другого добавочного номера мне показывалось хотя бы название компании
  • на старенькой нокии можно было сохранить номер головы 12345 и он показывает компанию. имя
  • я знаю, что есть некоторые приложения для блокировки спама с поддержкой подстановочных знаков, но в моем случае я не люблю блокировать эти вызовы - мне нужна только информация
  • Бонус: когда я могу настроить эту функцию только с помощью приложения для контактов и мне не нужно дважды вводить ее во внешнем приложении

[Решено] Удалить строку, если она не содержит того же значения в пандах столбцов

  • чиппицентр
  • 13 минут назад
  • Ответов: 0

chippycentra Спрашивает: Удалить строку, если она не содержит того же значения в столбце pandas
Здравствуйте, у меня есть кадр данных, такой как

И я хотел бы сохранить только строку, в которой A и B в COL1 имеют одинаковое значение COL2.

Тогда я должен получить;

У кого-нибудь есть идеи, пожалуйста?

[Решено] Виртуальный поиск в результатах поиска с множественными совпадениями

  • 13322
  • 13 минут назад
  • Ответов: 0

13322 Запрос: Визуальный поиск в результатах поиска с множественными совпадениями
Новичок в Excel здесь. Я здесь над головой, пытаясь найти способ вернуть значения из таблицы, такой как нижняя таблица на прикрепленном изображении. Таблицы предоставляются извне, и, как я понимаю, я не могу запускать фильтры или сортировку, поскольку таблица заполнена дополнительными нерелевантными данными, которые не будут правильно сортироваться по всем столбцам. Я подхожу к этому двояко: во-первых, я хотел вернуть информацию о строке для любой записи в таблице, у которой есть CPT, совпадающий со значением поиска. Во-вторых, (где я застрял) — когда поиск возвращает DESC, соответствующий совпадающему CPT, целью будет также извлечь любые записи Code A/Code B, которые соответствуют этому значению DESC. Я нашел существующую формулу, которая работала для первой части, показанной ниже. (извините за форматирование - SO продолжает помечать мой черновик как содержащий неформатированный код).

В настоящее время вышеупомянутая формула возвращает записи DESC для любых совпадающих CPT, и я использую vlookup для извлечения остальных соответствующих столбцов для соответствующей строки. Я ошибаюсь в тех случаях, когда для данного DESC имеется несколько записей кода A/кода B, поскольку поиск возвращает информацию только для строки, содержащей соответствующий CPT, а не какие-либо соответствующие коды, содержащиеся в последующих строках.

Я думал, что мне придется использовать что-то похожее на существующую формулу поиска, чтобы идентифицировать совпадающую строку, а затем отображать все последующие строки, содержащие записи кода, до следующей строки с непустой записью CPT. К сожалению, я не знаю, действительно ли это лучший способ приблизиться к этому. Любые ресурсы/предложения приветствуются.

Мы рекомендуем вам ознакомиться с discord.py и python . Это руководство по компонентам разногласий, поэтому оно не может содержать много объяснений по Python.

Если при установке вы столкнулись с ошибкой Не найдено подходящего дистрибутива для discord-компонентов, попробуйте обновить версию Python! (Он должен быть выше 3.6 )

Предполагая, что вы пригласили своего бота на какой-то сервер, давайте напишем код. Создайте любой файл Python и скопируйте и вставьте приведенный ниже код. (с заменой вашего токена на токен вашего бота и вашего префикса на префикс вашего бота)


ComponentsBot(. ) инициализирует клиент. Он меняет методы бота. Таким образом, вы можете создавать компоненты, просто ожидая ctx.send(.components = [. ]) .

Button(label = "WOW button!", custom_id = "button1") этот фрагмент кода создает кнопку с меткой "WOW button!" и задает для custom_id значение «button1».

Но когда вы нажмете эту кнопку, вы увидите ошибку Это взаимодействие не удалось . Это потому, что вы не ответили на взаимодействие (нажатие кнопки). Давайте отредактируем код.

взаимодействие = ожидание бота. wait_for ("button_click", check = lambda i: i. custom_id == "button1")


Этот метод аналогичен .wait_for . За исключением того факта, что он возвращает Interaction . Этот код ожидает, пока пользователь не нажмет кнопку с «button1» в качестве пользовательского идентификатора. ВАУ!

Этот ответ на взаимодействие. Он отправляет эфемерное сообщение с содержимым «Кнопка нажата!». Вы можете просто отправить обычное сообщение, установив эфемерный параметр False .

взаимодействие = ожидание бота. wait_for("button_click", check = lambda i:i.component.label.startwith("WOW"))

Если вы запустите это и наберете !select , вы увидите сообщение с select! А если что-то выбрать, бот отправит эфемерное сообщение!


Код прост для понимания. Вы отправляете выбор с двумя параметрами: один с меткой A и значением a (значение, которое передается при выборе, это похоже на пользовательский идентификатор на кнопках) и один с меткой B и значением b. И держатель места выбора установлен на Выбрать что-нибудь! .

И вы ждете, пока пользователь выберет вариант. wait_for возвращает объект взаимодействия.Но свойство компонента представляет собой список параметров, выбранных пользователем (если вы не установили параметр max_values при создании объекта выбора, он содержит 1 параметр).

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