Introduction¶
This is the documentation for discord.py, a library for Python to aid in creating applications that utilise the Discord API.
Prerequisites¶
discord.py works with Python 3.5.3 or higher. Support for earlier versions of Python is not provided. Python 2.7 or lower is not supported. Python 3.4 or lower is not supported due to one of the dependencies ( aiohttp ) not supporting Python 3.4.
Installing¶
You can get the library directly from PyPI:
If you are using Windows, then the following should be used instead:
To get voice support, you should use discord.py[voice] instead of discord.py , e.g.
On Linux environments, installing voice requires getting the following dependencies:
For a Debian-based system, the following command will get these dependencies:
Remember to check your permissions!
Virtual Environments¶
Sometimes you want to keep libraries from polluting system installs or use a different version of libraries than the ones installed on the system. You might also not have permissions to install libraries system-wide. For this purpose, the standard library as of Python 3.3 comes with a concept called “Virtual Environment”s to help maintain these separate versions.
Как мне получить список всех пользователей на моем сервере Discord с определенной ролью, используя асинхронный режим Discord в Python? (код внутри)
У меня есть код Python, который управляет ботом на моем сервере, который работал пару недель назад. У меня есть код ниже, который позволяет получить список всех людей на сервере с определенной ролью и добавить их в список. Позже я проделаю кое-что с этим списком Код ниже:
По какой-то причине это перестало работать, и вместо того, чтобы получить всех пользователей с ролью something / somethingelse, он захватывает только пользователей в любом голосовом канале на сервере в то время. Как это исправить?
Простой чат-бот для Discord на Python
Сегодня рассмотрим пример создания простого чат-бота для Discord на языке Python 3 с использованием популярной библиотеки discord.py. Данный чат-бот по команде будет присылать стоимость криптовалюты биткоин (Bitcoin), которую будет узнавать с сайта coinmarketcap.com.
Делать будем все подручными средствами без сред разработки, а в обычном текстовом редакторе.
Что потребуется для из средств разработки:
- Python 3.4.2+ (в Ubuntu 16.04 в коробке сразу идет Python 3.5.2)
- Pip3 (менеджер пакетов для установки библиотек, в версиях Python 3.4+ входи в коробочную версию)
- Любой текстовый редактор
В случае, если не установлен pip3, то установка в Ubuntu выглядит так:
$ sudo apt-get install python3-pip
Далее ставим главную библиотеку discord.py — обертка над API Discord для Python 3:
$ pip3 install discord.py
В Windows команда для терминала cmd выглядит также. Но если не настроены пути, то будет появляться ошибка. Тогда можно написать полный путь до pip3 примерно так:
C:\_ПУТЬ_ДО_ПАПКИ_PYTHON3\Tools\Scripts\pip3.exe install discord.py
Уже почти все сделано, осталось написать код. Создаем пустой файл с названием, например, discordpy-chatbot.py. Открываем любым текстовым редактором и вставляем туда код. На Github я привел программный код нашего чат-бота. Вот ссылка, ниже gist:
Осталось изменить значение переменной DISCORD_BOT_TOKEN, в которую необходимо сохранить токен вашего Discord-приложения (чат-бота). Чтобы узнать свой токен, необходимо перейти по адресу https://discordapp.com/developers/applications/me, выбрать в списке необходимый чат-бот или создать новый, и на странице настроек приложения в блоке «Bot» нажать на ссылку «click to reveal», где раскроется токен вашего приложения. Его и нужно занести в переменную DISCORD_BOT_TOKEN:

Все готово. Сохраняем файл со скриптом и запускаем чат-бот:
$ python3 discordpy-chatbot.py
После запуска на вашем сервере Discord, куда был добавлен чат-бот (а как добавлять своих ботов на свой сервер я писал в этой статье), можно писать команду:
!btcprice
на что бот вам любезно ответит текущей ценой за 1 биткоин:

Python discord, discord.py, discordapp, howto, python. permalink. 52 803
20 thoughts on “ Простой чат-бот для Discord на Python ”
Я может чего-то не понимаю, но с какой стати мне IDLE пишет, что в модуле discord нет атрибута Client
Столкнулся с такой же ситуацией, удалось решить путем замены python 3.7 на python 3.6
Как поставить бота на удаленный сервер, чтобы бот работал постоянно?
Достаточно запустить скрипт бота непосредственно на сервере, например, как описано в статье. В самом простом случае на сервере необходимо установить Python 3, pip3, библиотеку discord.py и просто запустить скрипт в фоновом режиме. Либо можно воспользоваться сервисами, например, Heroku, которые позволяют очень просто запускать пользовательские скрипты на своих серверах.
Здравствуйте, появилась хотелка, запустить бота на своем сервере, на котором крутится сервер DontStarveTogether, для возможности мониторинга его состояния, запуска, перезапуска, обновления, отправки команд непосредственно в сервер игры. Т.е. нужно получать некоторые данные с машины. С ботом дискорда только начал знакомиться, что для этих целей подойдет больше, лучше, где искать информацию?