Начальные файлы
Как только вы добавите своего бота на сервер,
следующий шаг - начать писать и запустить его! Давайте начём с создания файла .env
для токена вашего бота и главного
файла для вашего бота.
Создание файлов конфигурации
Как объясняется в разделе Что такое токен?
, ваш токен,
по сути, является паролем вашего бота, и вы должны защищать его как можно лучше. Это можно сделать с помощью файла
.env
или с помощью переменных окружения.
Откройте своё приложение на портале разработчиков Discord и перейдите во
вкладку Bot
, чтобы скопировать свой токен.
Использование переменных окружения
Переменные окружения - это специальные значения вашего окружения (например, сеанс терминала, контейнер docker или файл переменных окружения). Вы можете передать эти значения в область действия вашего кода, чтобы вы могли использовать их.
При обращении к файлу .env
, имейте в виду, что вы можете назвать этот файл так, как вам больше нравится. Например,
файл может быть назван token.env
или secret.env
.
Хранение данных в .env
файле - это распространённый способ хранения конфиденциальных значений в безопасности. Создайте
файл .env
в каталоге вашего проекта и вставьте в него свой токен. Вы можете получить доступ к своему токену внутри
других файлов, используя os.environ
.
- main.py
- secret.env
# Импортирование модуля "os".
import os
# Получение значения .env.
# Вы можете назвать эту переменную в коде так, как вам нравится.
YOUR_BOT_TOKEN = os.environ["YOUR_BOT_TOKEN"]
# Каждая строка в файле .env должна содержать пару КЛЮЧ=значение (KEY=value).
YOUR_BOT_TOKEN = OTA4MjgxMjk4NTU1MTA5Mzk2.YYzc4A.TB7Ng6DOnVDlpMS4idjGptsreFg
Если вы используете Git, вы не должны фиксировать этот файл и должны игнорировать его через .gitignore
. Значения
файла по-прежнему доступны любому пользователю, если он может просматривать файл.
Вы можете использовать пакет python-dotenv либо для загрузки переменных env
в окружение, либо для
создания словаря config
из значений env.
- load_dotenv
- dotenv_values
import os
from dotenv import load_dotenv
load_dotenv() # Получение переменных окружения из файла .env.
# Использование переменных в вашем приложении, которое использует переменные окружения
# (например, из 'os.environ()' или 'os.getenv()')
# как будто они пришли из реальной среды.
YOUR_BOT_TOKEN = os.environ["YOUR_BOT_TOKEN"]
from dotenv import dotenv_values
config = dotenv_values(".env") # Создаёт словарь из значений.
# Таким образом, мы получаем
# config = {YOUR_BOT_TOKEN: OTA4MjgxMjk4NTU1MTA5Mzk2.YYzc4A.TB7Ng6DOnVDlpMS4idjGptsreFg}
# который может быть использовано как:
YOUR_BOT_TOKEN = config["YOUR_BOT_TOKEN"]
Имейте в виду, что значения, импортированнные из файла .env
, являются строками. Поэтому, если вы хотите, скажем,
использовать их для вычислений, вам придётся преобразовать их с помощью int()
.
Хотя мы обычно не рекомендуем использовать онлайн-редакторы в качестве хостинга, а лучше приобрести надлежащий виртуальный приватный сервер (VPS), эти сервисы также предлагают способы хранения ваших учётных данных в безопасности! Пожалуйста, ознакомьтесь с документацией соответсвующего сервиса и справочными статьями для получения дополнительной информации о том, как сохранить конфиденциальные значения в безопасности:
- Glitch: Хранение секретов в файле .env
- Replit: Секреты и переменные среды
Git и .gitignore
Git - это фантастический интсрумент для отслеживания изменений вашего кода, который позволяет загружать прогресс в такие сервисы, как GitHub, GitLab или Bitbucket. Хотя это очень полезно для обмена кодом с другими разработчиками, это также связано с риском загрузки ваших конфигурационных файлов с конфиденциальными значениями!
Вы можете указать файлы, которые Git должен игнорировать в своих системах управления версиями, с помощью файла
.gitignore
. Создайте файл .gitignore
в каталоге вашего проекта и добавьте названия файлов и папок, которые вы
хотите игнорировать:
__pycache__/
secrets.env
config.json
__pycache__/
был включён в .gitignore
, поскольку это просто кэш, который помогает быстрее загружать и
запускать ваш код (это упрощение). Поскольку он не имеет особого значения и перекомпилируется каждый раз, когда в код
вносятся изменения, лучше не фиксировать каталог.
Кроме того, вы можете указать определённые расширения/каталоги в файлах .gitignore
в соответсвии с требованиями
вашего проекта - вот пример. Ознакомьтесь с документацией Git по .gitignore
для получения дополнительной информации!
Создание основоного файла
Откройте редактор кода и создайте новый файл. Мы рекомендуем назвать его main.py
или bot.py
, но вы можете назвать
его так, как пожелаете.
Вот базовый код, который поможет вам начать работать:
# Импортируйте необходимые библиотеки.
import disnake
from disnake.ext import commands
# Создание экземпляра класса commands.Bot() и присваивание его в "bot".
bot = commands.Bot()
# Когда бот будет готов, эта функция будет запущена.
@bot.event
async def on_ready():
print("Бот готов!")
# Войдите в Discord с помощью токена бота.
bot.run("YOUR_BOT_TOKEN")
Вот так вы создадите экземпляр бота для своего Discord бота и входите в Discord. Откройте свой терминал и запустите
python3 main.py
чтобы начать процесс. Если через несколько секунд вы увидите надпись "Бот готов!", значит, всё в
порядке!
После завершения процесса с помощью Ctrl + C
вы можете нажать стрелку вверх на клавиатуре, чтобы вызвать последние
команды, которые вы выполнили в терминале. Нажатие кнопки вверх, а затем Enter
после завершения процесса - это
быстрый способ запустить его снова.
Получившийся код
Код, представленный на этой странице, можно найти в нашем репозитории GitHub здесь.