Рубрики
Без рубрики

Создание бота -разногласия с Python

Если вы нашли эту статью полезной, подумайте о том, чтобы купить мне чашку кофе. Эта статья была изначально … Помечено Python, Codenewbie, Tutorial, новички.

Если вы нашли эту статью полезной, подумайте о том, чтобы купить мне чашку кофе.

Эта статья была первоначально опубликована в моем блоге.

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

До начала

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

Отличная метафора, с которой я столкнулся (не помню первоначального источника), – это думал об API в качестве официанта в ресторане.

Итак, вы, клиент, поговорите с официантом, чтобы получить еду. Затем официант разговаривает с шеф -поваром, который на самом деле готовит вашу еду. Шеф -повар дает еду официанту. Наконец, официант дает вам еду.

Распав эту метафору, пользователь (клиент) отправляет запрос API (официанту). Затем API (официант) разговаривает со службой, которую вы хотите охватить, обычно с базой данных (Chef). Эта база данных (Chef) затем отправляет данные (еда) обратно в API (официант). И, наконец, API (официант) дает вам данные (еда).

Большой! Теперь, когда мы знаем, что такое API, и имеем общее понимание того, как он работает, теперь мы можем перейти к использованию его.

Приобретение шуток

Чтобы на самом деле получить шутки, нам придется использовать Официальная шутка API Анкет Этот API очень прост в использовании, вы просто используете Эта ссылка И каждый раз, когда вы это называете, это возвращает случайную шутку в формате JSON. Простой!

Создание заявки на Discord

Чтобы создать бота -разногласий и пригласить его на свой собственный сервер дискордов, вы можете следить за Эти шаги здесь Анкет

Вы можете назвать это все, что хотите Но я просто назову это “шутки”.

Кроме того, под вкладкой «Настройки слева» перейдите к «OAuth2»> «Scopes» и отметьте опцию BOT. Затем на той же странице перейдите на «Разрешения на бот» и отметьте коробку администратора.

Теперь скопируйте ссылку из раздела «Scopes» и вставьте ее в свой браузер, чтобы добавить бот на ваш сервер Discord.

Прохладный! Теперь просто познакомьтесь с токеном Bot Discord на вкладке «Бот», потому что нам понадобится позже.

Загрузка библиотеки discord.py

Мы будем использовать библиотеку Discord.py, чтобы создать наш бот Discord.

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

python3 -m pip install -u discord.py

Если у вас еще нет установки Python и Pip, вы можете пойти Здесь Чтобы установить их.

Установка модуля запросов

Наконец, нам нужно скачать и установить еще одну вещь. Чтобы фактически отправить запросы и получить данные с API с помощью Python, нам нужно загрузить и установить модуль Python Запросы Анкет

Просто введите следующую команду в командную строку, чтобы установить этот модуль.

Запросы на установку PIP3

Теперь это наконец, когда вы все ждали, код.

Тестирование бота

Чтобы проверить, что наш бот действительно работает, скопируйте и вставьте следующий код в ваш любимый текстовый редактор.

Чтобы узнать больше о том, что этот код идет Здесь Анкет

Теперь вставьте свой токен бота Discord в последнюю строку, где написано «ваш токен здесь». Сохраните свой файл Python как «discord_joke_bot.py», а затем введите следующую команду в терминал, чтобы запустить и проверить ваш бот.

python3 discord_joke_bot.py

Если все прошло хорошо, вы должны увидеть что -то вроде следующего:

Теперь мы можем ввести следующую команду $ Привет В наш сервер Discord, и бот должен ответить с помощью “Привет!”

Круто, так что бот работает.

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

Выполнение запросов API с помощью Python

Теперь давайте посмотрим, как на самом деле сделать запросы API с помощью Python и модуля запросов.

Следующий код – это то, что мы будем использовать, чтобы сделать запросы на API шутки.

Позвольте мне объяснить, что здесь происходит.

В строке 1 мы импортируем модуль запросов.

Строка 3 – это URL, который мы будем использовать, и я только что определил его в глобальной области.

Теперь в строке 6 я определяю функцию с именем “CHECK_VALID_STATUS_CODE”, которая будет проверять, успешно ли код состояния из API.

Если код состояния равен 200, то есть это успешный вызов, он вернет запрос в формате JSON. Если это безуспешно, это просто вернет ложь.

В большинстве случаев, когда вы делаете вызов API, API вернет код состояния. Эти коды статуса говорят вам, был ли вызов API успешным или нет. Чтобы узнать больше о кодах статуса, проверьте Эта статья Анкет

Теперь в строке 13 я определяю другую функцию с именем «get_joke». Эта функция, подразумеваемая его названием, будет шутить.

Сначала это делает запрос получить URL, мы передаем его. Затем он будет вызвать «check_valid_response_code» и сохранить все, что она возвращает в переменную с именем «Данные». Наконец, он возвращает переменную «данные».

Добавление команды $ Joke

Мы, наконец, можем перейти к тому, чтобы фактически добавить в нашу команду “$ Joke”.

Сначала давайте импортируем “joke_api.py” в файл “discord_joke_bot.py” со следующей строкой:

Импорт шутка_апи.py

Теперь в файле с именем «discord_joke_bot.py» мы можем просто заменить оператор IF, содержащий параметр «$ hello» в строке 16 на следующее оператор IF.

Позвольте мне объяснить, что здесь происходит.

Итак, сначала в строке 1, мы проверяем, начинается ли сообщение, которое мы вводите в Discord со строки “$ Joke”.

Затем в строке 2 мы называем функцию «get_joke» из файла “joke_api.py” и сохраняем ее в переменную с именем «шутка».

Переменная «шутка» хранит словарь со следующими ключами: ID, тип, настройка и изюминка.

Единственные словарные ключи, которые нас интересуют, – это «настройка» и «изюминка».

Теперь в строке 4 мы проверяем, является ли переменная «шутка» «ложной». Если так, мы просто возвращаем сообщение об ошибке.

Иначе, если это не ложь, мы возвращаем настройку шутки с помощью «шутка [‘setup’]» «Добавление персонажа Newline», «\ n», а затем добавив изюминку шутки с «шуткой [‘punkline»] ».

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

Большой! Оно работает.

Полный код

Всего у нас должно быть два файла. А именно файл “discord_joke_bot.py” и файл “joke_api.py”.

Ниже приведен файл “discord_joke_bot.py”.

Ниже приведен файл “joke_api.py”.

Поздравляю, вы только что создали своего первого бота -разногласия с помощью Python!

Вы также можете найти полный код на моем GitHub Анкет

Ресурсы

Вот список ресурсов, которые могут быть полезны:

Оригинал: “https://dev.to/alanjc/creating-a-discord-bot-with-python-33f3”