Добро пожаловать! Форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

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

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываются в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки не работают на форуме

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

Гайд Создание простого Discord-бота с нуля

Rassol_1 Оффлайн

Rassol_1

Участник
LV
3
 
24.02.2024
15
1
28
Награды
4
25

Репутация:

Discord-боты позволяют автоматизировать модерацию, игры, музыку и многое другое. В этом гайде мы разберём, как создать своего первого бота на Python с использованием библиотеки discord.py.

🔹 Содержание

  1. Создание приложения Discord и бота
  2. Установка необходимых инструментов
  3. Написание кода бота (Python)
  4. Добавление команд и событий
  5. Развертывание бота на сервере (бесплатные варианты)
  6. Дополнительные функции (роли, эмбеды, музыка)
  7. Публикация бота и мониторинг

1. Создание приложения Discord и бота

🔸 Шаг 1: Регистрация приложения

  1. Перейдите в

    Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

    .
  2. Нажмите "New Application" → введите имя (например, MyBot).

🔸 Шаг 2: Создание бота

  1. В меню слева выберите "Bot".
  2. Нажмите "Add Bot" → подтвердите действие.
  3. Скопируйте токен бота (не передавайте его никому!).

🔸 Шаг 3: Добавление бота на сервер

  1. Перейдите в "OAuth2" → "URL Generator".
  2. Выберите "bot" в Scope и нужные права (например, Send Messages, Read Messages).
  3. Скопируйте сгенерированную ссылку и перейдите по ней → выберите сервер.

2. Установка необходимых инструментов

🔸 Требования

  • Python 3.8+
  • Библиотека discord.py

🔸 Установка

bash
Copy
pip install discord.py python-dotenv
(Рекомендуется использовать виртуальное окружение venv.)


3. Написание кода бота (Python)

Создадим бота, который отвечает на команду !hello и реагирует на сообщения.

🔸 Структура проекта


Copy
my_bot/
├── .env # Токен бота
├── main.py # Основной код
└── requirements.txt

🔸 Файл .env (храним токен)

ini
Copy
DISCORD_TOKEN=ваш_токен_бота

🔸 Код бота (main.py)

python
Copy
import os
import discord
from discord.ext import commands
from dotenv import load_dotenv

# Загрузка токена из .env
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')

# Настройка префикса команд (например, "!")
bot = commands.Bot(command_prefix="!", intents=discord.Intents.all())

# Событие при запуске бота
@bot.event
async def on_ready():
print(f"Бот {bot.user.name} запущен!")

# Команда !hello
@bot.command()
async def hello(ctx):
await ctx.send(f"Привет, {ctx.author.mention}!")

# Обработка сообщений
@bot.event
async def on_message(message):
if message.author == bot.user: # Игнорируем сообщения бота
return

if "привет" in message.content.lower():
await message.channel.send("И тебе привет!")

await bot.process_commands(message) # Важно для работы команд

# Запуск бота
if __name__ == "__main__":
bot.run(TOKEN)

🔸 Как это работает?

  • on_ready() — срабатывает при запуске бота.
  • @bot.command() — регистрирует команду (например, !hello).
  • on_message() — обрабатывает все сообщения.

🔸 Запуск бота

bash
Copy
python main.py
Теперь бот должен быть активен на сервере!


4. Добавление команд и событий

🔸 Пинг-понг команда

python
Copy
@bot.command()
async def ping(ctx):
await ctx.send("Pong! 🏓")
(Теперь !ping выведет "Pong!")

🔸 Команда с аргументами

python
Copy
@bot.command()
async def say(ctx, *, text):
await ctx.send(f"🔊 {text}")
(Пример: !say Привет, мир!)

🔸 Модерация: очистка сообщений

python
Copy
@bot.command()
@commands.has_permissions(manage_messages=True)
async def clear(ctx, amount: int = 5):
await ctx.channel.purge(limit=amount + 1)
await ctx.send(f"Удалено {amount} сообщений!", delete_after=3)
(Требует права Manage Messages.)


5. Развертывание бота на сервере

🔸 Вариант 1: Replit (бесплатно)

  1. Загрузите код на

    Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

    .
  2. Добавьте токен в Secrets.
  3. Используйте UptimeRobot для автоперезапуска.

🔸 Вариант 2: VPS (Oracle Cloud Free Tier)

  1. Создайте бесплатный сервер в

    Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

    .
  2. Установите Python и зависимости:
    bash
    Copy
    sudo apt update && sudo apt install python3-pip
    pip3 install discord.py python-dotenv
  3. Запустите бота в screen/tmux:
    bash
    Copy
    screen -S bot
    python3 main.py

6. Дополнительные функции

🔸 Выдача ролей

python
Copy
@bot.command()
@commands.has_permissions(manage_roles=True)
async def addrole(ctx, member: discord.Member, role: discord.Role):
await member.add_roles(role)
await ctx.send(f"Роль {role.name} выдана {member.mention}!")

🔸 Эмбеды (красивые сообщения)

python
Copy
@bot.command()
async def embed(ctx):
embed = discord.Embed(
title="Заголовок",
description="Описание",
color=0x00ff00 # Зелёный
)
embed.add_field(name="Поле 1", value="Значение 1")
await ctx.send(embed=embed)

🔸 Музыкальный бот (на основе FFmpeg)

python
Copy
@bot.command()
async def play(ctx, url):
voice_channel = ctx.author.voice.channel
voice_client = await voice_channel.connect()
voice_client.play(discord.FFmpegPCMAudio(url))
(Требуется установка FFmpeg.)


7. Публикация бота и мониторинг

  • Добавьте описание в Developer Portal.
  • Настройте логирование ошибок:
    python
    Copy
    @bot.event
    async def on_command_error(ctx, error):
    await ctx.send(f"Ошибка: {error}")
  • Используйте cogs для организации кода (если бот растёт).

🔹 Заключение

Теперь у вас есть работающий Discord-бот! Дальше можно улучшать его:
✅ Подключить базу данных (SQLite, PostgreSQL).
✅ Добавить веб-панель управления (Flask/Django).
✅ Создать сложные игры или экономику сервера.

Полезные ссылки:

Удачи в создании бота! 🤖🎉
 

Поиск по форуму

Похожие темы:

shape1
shape2
shape3
shape4
shape7
shape8
Верх