Skip to main content

Начальные файлы

Как только вы добавите своего бота на сервер, следующий шаг - начать писать и запустить его! Давайте начём с создания файла .env для токена вашего бота и главного файла для вашего бота.

Создание файлов конфигурации

Как объясняется в разделе Что такое токен?, ваш токен, по сути, является паролем вашего бота, и вы должны защищать его как можно лучше. Это можно сделать с помощью файла .env или с помощью переменных окружения.

Откройте своё приложение на портале разработчиков Discord и перейдите во вкладку Bot, чтобы скопировать свой токен.

Использование переменных окружения

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

Примечание

При обращении к файлу .env, имейте в виду, что вы можете назвать этот файл так, как вам больше нравится. Например, файл может быть назван token.env или secret.env.

Хранение данных в .env файле - это распространённый способ хранения конфиденциальных значений в безопасности. Создайте файл .env в каталоге вашего проекта и вставьте в него свой токен. Вы можете получить доступ к своему токену внутри других файлов, используя os.environ.

# Импортирование модуля "os".
import os

# Получение значения .env.
# Вы можете назвать эту переменную в коде так, как вам нравится.
YOUR_BOT_TOKEN = os.environ["YOUR_BOT_TOKEN"]
Предупреждение

Если вы используете Git, вы не должны фиксировать этот файл и должны игнорировать его через .gitignore. Значения файла по-прежнему доступны любому пользователю, если он может просматривать файл.

Вы можете использовать пакет python-dotenv либо для загрузки переменных env в окружение, либо для создания словаря config из значений env.

import os
from dotenv import load_dotenv

load_dotenv() # Получение переменных окружения из файла .env.

# Использование переменных в вашем приложении, которое использует переменные окружения
# (например, из 'os.environ()' или 'os.getenv()')
# как будто они пришли из реальной среды.
YOUR_BOT_TOKEN = os.environ["YOUR_BOT_TOKEN"]

Имейте в виду, что значения, импортированнные из файла .env, являются строками. Поэтому, если вы хотите, скажем, использовать их для вычислений, вам придётся преобразовать их с помощью int().

Онлайн редакторы (Glitch, Replit, и т.п.)

Хотя мы обычно не рекомендуем использовать онлайн-редакторы в качестве хостинга, а лучше приобрести надлежащий виртуальный приватный сервер (VPS), эти сервисы также предлагают способы хранения ваших учётных данных в безопасности! Пожалуйста, ознакомьтесь с документацией соответсвующего сервиса и справочными статьями для получения дополнительной информации о том, как сохранить конфиденциальные значения в безопасности:

Git и .gitignore

Git - это фантастический интсрумент для отслеживания изменений вашего кода, который позволяет загружать прогресс в такие сервисы, как GitHub, GitLab или Bitbucket. Хотя это очень полезно для обмена кодом с другими разработчиками, это также связано с риском загрузки ваших конфигурационных файлов с конфиденциальными значениями!

Вы можете указать файлы, которые Git должен игнорировать в своих системах управления версиями, с помощью файла .gitignore. Создайте файл .gitignore в каталоге вашего проекта и добавьте названия файлов и папок, которые вы хотите игнорировать:

__pycache__/
secrets.env
config.json
Совет

__pycache__/ был включён в .gitignore, поскольку это просто кэш, который помогает быстрее загружать и запускать ваш код (это упрощение). Поскольку он не имеет особого значения и перекомпилируется каждый раз, когда в код вносятся изменения, лучше не фиксировать каталог.

Кроме того, вы можете указать определённые расширения/каталоги в файлах .gitignore в соответсвии с требованиями вашего проекта - вот пример. Ознакомьтесь с документацией Git по .gitignore для получения дополнительной информации!

Создание основоного файла

Откройте редактор кода и создайте новый файл. Мы рекомендуем назвать его main.py или bot.py, но вы можете назвать его так, как пожелаете.

Вот базовый код, который поможет вам начать работать:

main.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 здесь.