Как поставить дискорд бота на хостинг python
В данной статье мы создадим Discord бот, используя при этом только Python.
Краткая информация о Discord для тех, кто еще о нем не знает
Игроки, стримеры, студенты и разработчики используют Discord, чтобы обсуждать игры, отвечать на вопросы, общаться в чате во время игры в хорошем качестве, в том числе с членами своей команды. В нем даже есть игровой магазин с критическими отзывами и возможностью подписки. По сути, это центр игровых сообществ.
Хотя есть много вещей, которые вы можете создать с помощью API Discord, в этом руководстве мы остановимся на создании бота на Python.
Необходимые приготовления
Чтобы создать Discord бот, вам понадобится:
- Аккаунт в Discord и собственный сервер
- Python
- Устойчивое интернет-соединение во время всего процесса.
Что такое боты?
Для чего нужны чат-боты
Ускорение рабочих процессов
Чат-боты, в отличии от людей, никогда не устают. Все люди могут работать только ограниченный период времени, в то время как у ботов таких ограничений нет. Использование чат-ботов в бизнесе хорошо дополняет работу людей, повышает производительность труда и сокращает человеческий труд.
Экономия денег и времени
При правильном использовании дружелюбного чат-бота привлечение клиентов происходит с минимальными затратами и максимальной эффективностью.
Марк Лутц «Изучаем Python»
Скачивайте книгу у нас в телеграм
Пишем код для чат-бота
Сперва убедитесь, что на вашем компьютере установлен Python. Если его еще нет, то загрузите его с официального сайта.
Среду программирования можно использовать любую, какая вам больше нравится. Например, PyCharm, VS Code или Sublime.
Теперь выберите опцию New application (новое приложение) в правом верхнем углу страницы и дайте вашему новому приложению имя. Как видите, можно даже добавить изображение к аватару вашего бота. Мы можем сделать это позже. Сейчас пойдем в раздел Bot (на странице слева) и выберем опцию Add bot (добавить бота).
Сделав это, перейдите в категорию OAuth2 и в секции scope выберите опцию bot . Далее идите в секцию Permissions и настройте разрешения по вашему выбору.
Затем откройте ссылку под секцией scope в новом окне и выберите сервер, на котором вы желаете видеть ваш бот.
После этого установим библиотеку discord .
Для этого введем следующую команду:
Вот официальный сайт, где есть вся необходимая информация по данной библиотеке. Здесь же мы только заметим, что эта библиотека поддерживает API acync/await .
После установки этой библиотеки откройте ваш редактор кода и создайте файл bot.py .
Для начала импортируем необходимые библиотеки:
Создадим переменную Client :
Также имейте ввиду, что если вы хотите вызывать своего бота, ваша вызывающая команда должна иметь префикс, сохраненный в атрибуте command_prefix .
Например, в нашем случае, чтобы вызвать бота, нужно написать /hello , а не просто hello .
Напишем следующий код для определения статуса бота:
Теперь, когда бот готов к работе, мы можем ответить пользователям на их приветствие hello :
Эта функция задает условие, при котором, когда пользователь набирает /hello , бот отвечает hi .
Для запуска бота нам понадобится токен. Он находится в разделе Bot на сайте Discord. Мы заходили туда при создании бота.
Замените слово Token на ваш код. Сам токен находится рядом с аватором бота. Если вдруг его там нет, нажмите на надпись Click to Reveal Token . Это должно сработать.
Теперь настало время запустить нашего бота!
Откройте CMD и наберите следующую команду:
Если так не выходит, то наберите вот это:
Теперь перейдем на наш сервер и введем тестовый запрос, который в нашем случае был /hello . Мы увидим, что наш бот отвечает нам Hi .
Точно таким же образом пишем бот для приветствия новых участников:
Возможные проблемы при создании бота
Все может быть не так просто, как это кажется на первый взгляд. Вы обязательно должны помнить о проблемах, с которыми можете столкнуться при создании бота. Некоторые из них мы перечислили ниже:
Заключение
Мы рассмотрели, как создать Discord бот на Python. Разумеется, это был простейший бот. Но вы, конечно же, можете написать свой собственный код и добавить множество различных функций, например OCR.
Узнайте, как создать своего собственного бота Discord с помощью Python и Reply.it. Мы пройдем все шаги, необходимые для настройки вашего бота на Discord, а затем закодируем его с помощью Python, все в облаке.
Примечание: этот учебник представляет собой отрывок из Код с Reply.it: Проекты на Python для начинающих , книга и набор учебных пособий для начинающих, чтобы получить практический опыт программирования на Python.
Если вы предпочитаете JavaScript, вы можете найти перевод этого руководства с использованием NodeJS вместо Python.
Вам будет легче следить за этим, если у вас есть некоторые знания Python и вы уже использовали Discord или подобное приложение, такое как Skype или Telegram. Мы не будем рассматривать самые основы Python, но мы подробно объясним каждую строку кода, поэтому, если у вас есть какой-либо опыт программирования, вы должны быть в состоянии следовать этому.
Обзор и требования
Мы будем делать все наше кодирование через Repl.it веб-IDE и хостинг нашего бота с Repl.it кроме того, вам не нужно будет устанавливать какое-либо дополнительное программное обеспечение на свой компьютер. Для этого урока вам нужно будет создать учетную запись Discord (если она у вас уже есть, вы можете пропустить это). Инструкции о том, как это сделать, приведены в следующем разделе.
В этом уроке мы рассмотрим:
- Создание приложения и пользователя бота в вашей учетной записи Discord
- Создание сервера на Discord
- Добавление нашего бота на наш сервер Discord
Давайте сначала пройдем через эти шаги администратора, а затем перейдем к самой интересной части кодирования нашего бота.
Создание бота в Discord и получение токена
Вы можете зарегистрироваться на бесплатную учетную запись на странице регистрации Discord и загрузить одно из своих настольных или мобильных приложений с домашней страницы Discord . Вы также можете использовать Discord в браузере.
Обратите внимание на свой токен или скопируйте его в буфер обмена, так как в ближайшее время нам нужно будет добавить его в наш код.
Создание сервера Раздора
Добавление бота Discord на сервер Discord
Создайте URL-адрес, который выглядит следующим образом, но в конце используйте свой идентификатор клиента вместо моего:
Создайте URL-адрес, который выглядит следующим образом, но в конце используйте свой идентификатор клиента вместо моего:
Перейдите по URL-адресу, созданному в вашем веб-браузере, и вы увидите страницу, похожую на следующую, где вы можете выбрать, на какой сервер добавить своего бота.
Теперь мы можем перейти к самой веселой части создания мозга для нашего бота!
Создание Repl и установка наших зависимостей Discord
Наш бот почти готов к работе, но нам все еще нужно подключить ваш секретный токен. Это позволит вашему коду управлять нашим ботом.
Настройка авторизации для нашего бота
По умолчанию, Repl.it код является общедоступным. Это здорово, поскольку это поощряет сотрудничество и обучение, но мы должны быть осторожны, чтобы не делиться нашим секретным токеном бота (который дает любому, кто имеет к нему доступ, полный контроль над нашим ботом).
Чтобы обойти проблему необходимости предоставления нашему коду доступа к токену, позволяя другим получить доступ к нашему коду, но не нашему токену, мы будем использовать переменные среды . На обычной машине мы бы установили их непосредственно в нашей операционной системе, но с помощью Repl.it у нас нет к этому доступа. Reply.it позволяет нам устанавливать секретные переменные среды через специальный файл .env .
Откройте этот новый файл и добавьте переменную для определения секретного токена вашего бота (обратите внимание, что это второй токен, который мы получили при настройке бота-отличается от идентификатора клиента, который мы использовали для добавления нашего бота на наш сервер). Это должно выглядеть примерно так:
Вам нужно будет:
- Замените токен (после знака = ) на токен, который Discord дал вам при создании собственного бота.
- Будьте осторожны с интервалом . В отличие от Python, если вы поставите пробел по обе стороны от = в файле .env , эти пробелы будут частью имени переменной или значения, поэтому убедитесь, что у вас нет пробелов вокруг = или в конце строки.
- Запустите код еще раз. Иногда вам нужно обновить всю страницу, чтобы убедиться, что переменные среды успешно загружены.
Давайте создадим бота Discord, который повторяет все, что мы говорим, но в обратном порядке. Мы можем сделать это всего за несколько строк кода. В вашем main.py файл, добавьте следующее:
Давайте разорвем это на части строка за строкой, чтобы посмотреть, что он делает.
Последние две строки получают наш секретный токен из переменных среды, которые мы настроили ранее, а затем сообщают вашему боту о запуске.
Откройте Discord и на сервере, который мы создали ранее, выберите приложение ReplBotApplication на панели в правой части экрана.
Бот отвечает каждый раз, меняя текст, который мы вводим.
Поддержание жизни нашего бота
Reply.it ваш код будет работать после закрытия вкладки браузера только в том случае, если вы используете веб-сервер. Потому что мы используем Python discord.py библиотека, наш бот не требует явного веб-сервера, но мы можем создать сервер и запустить его в отдельном потоке, просто чтобы сохранить наш Репл живым. Мы сделаем это с помощью фреймворка Flask .
Создайте новый файл в своем проекте под названием keep_alive.py и добавьте следующий код:
В нашем main.py файл, нам нужно добавить импорт для этого сервера в верхней части. Добавьте следующую строку в верхней части main.py .
Теперь ваш бот будет оставаться живым даже после закрытия браузера или выключения машины разработки. Repl все равно очистит ваш сервер и убьет вашего бота примерно через час бездействия, поэтому, если вы некоторое время не используете своего бота, вам придется войти в Repl и снова запустить бота. Кроме того, вы можете настроить сторонний (бесплатный!) сервис, например Uptime Robot . Робот Uptime пингует ваш сайт каждые 5 минут, чтобы убедиться, что он все еще работает-обычно, чтобы уведомить вас о неожиданном времени простоя, но в этом случае постоянные пинги имеют побочный эффект сохранения нашего Репла, поскольку он никогда не будет работать больше часа без какой-либо активности.
Разветвление и расширение нашего базового бота
Это не очень полезное и то, и другое, но сейчас возможности ограничены только вашим творчеством! Вы можете заставить своего бота получать ввод от пользователя, обрабатывать ввод и отвечать любым выбранным вами способом. На самом деле, с базовым вводом и выводом, которые мы продемонстрировали, у нас есть большинство компонентов любого современного компьютера, все из которых основаны на архитектуре фон Неймана (мы могли бы легко добавить недостающую память, если бы наш бот записал в файл или с немного большим усилием связался с базой данных SQLite для постоянного хранения).
Если вы застряли в поисках идей, почему бы не связать свой дискорд с API Twitch , чтобы получать уведомления, когда ваши любимые стримеры находятся в Сети, или создать текстовое приключение .
В следующем уроке мы снова построим точно такую же лодку , но с использованием NodeJS вместо Python. Даже если вы предпочитаете Python, часто бывает хорошей идеей создать один и тот же проект на двух языках, чтобы вы могли лучше оценить различия и сходства.
Ассистент хостинг для автоматического помощника в мессенджере Дискорд может помочь выполнять определенный вид задач, но если создать необходимые условия, и ответственно отнестись к процессу выбору. В первую очередь следует рассмотреть регион, в котором планируется использовать ассистента. Если дело касается России, то следует просмотреть хостинги, которые не заблокированы на территории РФ, и могут выполнять возложенные задачи.
Во-вторых, следует оценивать, и грамотно выбирать варианты, которые подходят с технической стороны вопроса. Например, устройства могут быть недостаточно мощными, и следует провести обновление.
При выборе ассистента следует проводить индивидуальную оценку для совместимости.
Рейтинг лучших хостингов для бота в Дискорд
При выборе хостинга для автоматического помощника в программе Дискорд можно использовать универсальный вариант, который основан на привлечении для работы ассистентов, которые прошли проверки у посторонних пользователей. Для этого необходимо вначале ознакомиться с рейтингом хотсингов для робота в программе Дискорд, и оценить опции и инструменты каждого варианта. Среди востребованных ассистентов для приложения, которые регулярно скачивают пользователи, можно выделить:
- Cloud4Box.
- Shneider Host.
- Sprinthost.
- Fozzy.
- WebHOST1.
- Mchost.
- Simple Cloud.
- Hostland.
- RuVDS.
- Zomro.
Перед составлением оценки следует внимательно рассмотреть каждый хостинг, его опции и сочетаемость с платформой.
Cloud4Box
Хостинг осуществляет функционирование на базе центра «Контел», которые расположен и открыт в Москве. При помощи ассистента пользователи могут воспользоваться облачными виртуальными серверами, или разместить конкретно выбранный сервер. При этом, в дополнительные услуги входит возможность взять в аренду канал в сети интернета, или арендовать необходимое для размещения адресное пространство. При помощи хостинга осуществляется регулярная поддержка IPv6- адресов, и в комплект входит накопитель SSD класса. Администрирование проходит в бесплатно варианте, если пользователь применяет базовый способ. Резервное копирование осуществляет регулярно, а именно один раз в неделю.
Shneider Host
Серверы ассистента расположены в Германии и Франции, то для русскоязычных пользователей выделена специально разработанная версия. В случае возникновения ошибки пользователи могут получить помощь в службе поддержки, которая работает круглосуточно. При необходимости клиенты могут воспользоваться тестовым вариантом, чтобы оценить опции и преимущества хостинга. Во время приобретения хостинга участники получают домен в подарок бесплатно. Хостинг поддерживает безлимитный трафик для неограниченного пользования. При помощи помощника можно обслуживать неограниченное число веб-сайтов. Ассистент проводит регулярное резервное копирование, чтобы данные не пропали при возникновении ошибки.
Sprinthost
Fozzy
Преимущество ассистента заключается в том, что пользователи могут начать применять доступные опции после оформления заказа, нет необходимости ждать, когда пройдет оплата. Оформите заявление на официальном сайте, и применяйте хостинг. Для работы Фоззи применяет SSD серверы, что помогает добиться быстрой скорости. При помощи хостинга сайт будет работать так быстро, что пользователь сможет выполнять необходимые виды задач.
WebHOST1
Хостинг предлагает выбор тарифных планов для пользователей, чтобы участники смогли оптимальный вариант под необходимости и предложения. Для варианта экономии можно применить безлимитный тариф, который не ограничивает варианты использования. Служба поддержки дать необходимый для работы совет, или оказать поддержку во время возникновения ошибки. В панели ассистента можно увидеть антивирус, который клиент может применять. При помощи ассистента приложения устанавливаются автоматическим образом. Перед подключением ассистента следует ознакомиться с опциями при помощи тестового варианта применения.
Mchost
Simple Cloud
Хостинг включает стандартный набор опций и инструментов. При помощи ассистента пользователи могут получить доступ к расширенным возможностям, поскольку клиенты способны выбирать необходимый тарифный план. Помощник работает на SDD дисках, что повышает уровень скорости для выполнение задач. Хостинг подходи для использования в рамках программы Дискорд.
Hostland
Ассистент подходят для пользователей, которые хотят стабильность в вопросах скорости. Хостинг предполагает использование тарифных планов по выбору, что дает гарантию подбора оригинального решения проблем. Автоустановка приложений помогает сэкономить время, и решить необходимые задачи для участника. При этом, участники могут вначале попробовать бесплатный вариант в тестовом режиме. Антивирус помогает сделать работу безопасной. При помощи помощника можно проводить резервное копирование, которое проводится на регулярной основе.
RuVDS
Хостинг предлагает для использования 10 гигабайтов для хранения необходимого материала. Работа производится на быстрых скоростях поскольку в основе используются SDD диски. Клиенты могут подключить трафик без установленного лимита. Тарификация идет в посекундном плане, чтобы пользователь платил за используемые ресурсы. При помощи бесплатного тестирования можно провести предварительную оценку работы ассистента. Хостинг защищен от проникновения вирусов, что повышает уровень безопасности устройства.
Zomro
При помощи ассистента пользователи могут воспользоваться тарифов для хранения необходимых сайтов. При помощи хостинга можно хранить до 20 гигабайтов информации. При этом, при помощи хостинга можно хранить и крупногабаритные медиафайлы. Канал связи проходит на высоких скоростях. К дополнительным услугам относится опции я до проведении регистрации доменных имен.
Как поставить Дискорд бота на хостинг?
Автоматического помощника в мессенджере Дискорд можно установить на хостинг. В некоторых вариантах программа может затребовать большие требования в техническом плане, и для решения проблемы следует увеличить тариф, или приобрести конкретно установленный VPS. Технические правила для установки следует просматривать у конкретного ассистента, может понадобиться сервер, который имеет поддержку обновленных версий оперативных систем.
Приобрести, и загрузить хостинг можно на официальном сайте представителя. После оформления покупки, пользователю предоставляют подробную инструкцию скачивания хостинга для пользования в рамках программы Дискорд. Если грамотно проделать операции по определенному алгоритму, то не должно возникнуть сложностей с установкой, и впоследствии с использованием выбранного варианта.
В этой статье мы создаем своего дискорд-бота на боксе с нуля.
Подготовка
Предварительные действия на боксе такие же, как и в нашей статье про Telegram:
Создание бота происходит в два этапа на сайте мессенджера. Сначала создаем приложение: «Разработчикам»(в футере) → «Applications», нажимаем кнопку «New Application» в правой верхней части страницы:
Выбираем имя приложения (выбирайте мудро, хоть его и можно изменить позже):
Готово. Здесь можно переименовать приложение, дать описание, загрузить аватарку:
Теперь добавим к нему бота. В меню слева вкладка «Bot» → «Add Bot» → «Yes, do it!».
Токен бота можно получить по кнопке Copy:
Если вдруг токен попал не только в ваши руки, его всегда можно заменить кнопкой Regenerate.
Добавление бота на сервер
Переходим на вкладку «OAuth2» и создаем для него свой URL для приглашения:
Чуть ниже выбираем права для бота. Если это бот для администрирования сервера, то можно, конечно, выбрать «Administrator», но нужно быть осторожными с этим.
Выдаем права, действительно нужные боту для администрирования сервера:
Теперь бота можно добавить на сервер. Копируем ссылку и открываем её в браузере. В диалоговом окне выбираем сервер:
Проверяем его привилегии:
Всё, бот на сервере:
Код бота
Активируем виртуальное окружение и ставим нужную библиотеку:
Добавляем директорию для бота, не выходя виртуального окружения:
Создаем конфиг бота:
Наполняем его содержимым
Дальше код бота. Создаем bot.py и сразу редактируем его vim’ом:
Первыми строками активируем виртуальное окружение и импортируем нужные модули:
Обозначаем боту, с какого символа начинаются его команды:
Добавляем в код функцию запуска:
Закрываем редактор и запускаем бота:
Код бота целиком:
Запуск бота
Создаем Linux-демона — он будет следить, что бот работает. Открываем файл (mlg, если нужно, меняем на своё имя сервиса):
Добавляем в него строки:
И запускаем демона:
Проверить, что всё работает, можно так:
Дополнение кода бота
Бот улучшается в два этапа:
- добавляем код в файл бота
- перезапускаем бота
Для примера добавим в бота какое-нибудь рандомное API. Открываем файл бота:
И добавляем в него пару библиотек и ещё одну функцию обработки команд:
Закрываем файл и перезапускаем демона, чтобы изменения вступили в силу:
Результатом будет рандомный мем:
Готово! Боты в Discord умеют многое, и мы можем и дальше расширять его возможности, изучая документацию.
Читайте также: