НОВОЕ 📢 Ограниченное стартовое предложение: скидка до 70% на первый месяц для любой игры!Посмотреть тарифы

Как сделать Discord-бота на Python (discord.py)

Хостинг Discord-ботовUpdated Oct 23, 20263 min read

Файлы

requirements.txt

discord.py>=2.4

bot.py

import os
import discord
from discord import app_commands

intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)

@tree.command(name="ping", description="Replies with pong")
async def ping(interaction: discord.Interaction):
    await interaction.response.send_message("pong")

@client.event
async def on_ready():
    await tree.sync()
    print(f"Logged in as {client.user}")

client.run(os.environ["DISCORD_TOKEN"])

Бот использует интенты по умолчанию, поэтому включать привилегированные интенты не нужно.

Запустите бота на PlayNHost

  1. Откройте сервер в панели. Нажмите Изменить тип сервера на странице Обзор и выберите Python Bot. Делайте это на новом сервере: смена типа переустанавливает его. См. Как сменить тип сервера.
  2. В Files загрузите bot.py и requirements.txt.
  3. В Настройки, Настройки игры укажите в поле Основной файл значение bot.py и вставьте токен в Токен Discord-бота.
  4. Откройте Console и запустите сервер. Сервер устанавливает пакеты из requirements.txt при каждом запуске.
  5. Когда консоль покажет Logged in as ..., введите в Discord /ping.

Полезно знать

  • По умолчанию сервер работает на Python 3.12. Если пакету нужна другая версия, выберите 3.10, 3.11, 3.13 или 3.14 в Настройки, Docker-образ.
  • Команды, зарегистрированные через tree.sync(), глобальные, и их появление может занять время. Во время тестирования синхронизируйте их с одним сервером: tree.copy_global_to(guild=discord.Object(id=YOUR_SERVER_ID)), затем await tree.sync(guild=...).
  • Читайте ошибки в Console. Отсутствующий пакет означает, что в requirements.txt не хватает строки.

Ещё: Как запустить Discord-бота на Python, Как использовать базу данных с Discord-ботом.

Ваш сервер уже у другого хостинга? Перенесите его к нам

СОЗДАЙТЕ СВОЙ ИГРОВОЙ СЕРВЕР
ГОТОВЫ НАЧАТЬ?

Сэкономьте до 30% на вашем новом игровом сервере.
Премиальная производительность, мгновенная активация и непревзойдённая надёжность по лучшей цене.

ПОСЛЕДНИЕ БЛОГИ