top of page

How to Host a Discord Bot: Create and Deploy Your Own Bot on a Virtual Private Server (VPS) in 2025

  • Writer: HolyHosting
    HolyHosting
  • Oct 30
  • 5 min read

Adding bots to your Discord server 

allows you to automate tasks and introduce new features. While there are many popular bots ready to use, you might want to create one tailored to your specific needs.

In this article, we’ll explain how to host a Discord bot using HolyHosting’s Virtual Private Server (VPS) plan. We’ll start by walking you through the process of developing your own Discord bot from scratch.

ree

Next, we’ll show you how to purchase a HolyHosting VPS hosting plan and configure the server environment for your Discord bot. You’ll also learn about performance optimization and ongoing bot monitoring.


How to Create a Discord Bot

  • Create a Discord Bot Account

  • Configure Bot Permissions

  • Choose a Programming Language

  • Write the Bot’s Code

ree

How to Host a Discord Bot

  • Get VPS Hosting

  • Set Up the VPS Environment

  • Upload the Discord Bot

  • Launch the Bot

  • Monitor and Maintain the Bot’s Performance

ree

FAQ – Hosting a Discord Bot

  • What is a Discord Bot?

  • How Do I Choose the Right VPS for My Discord Bot?

  • Which Programming Language Should I Use to Build My Discord Bot?

  • Can I Run Multiple Discord Bots on the Same Server?


How to Create a Discord Bot

Hosting your own customized Discord bot requires developing it manually. While the process may differ depending on your bot’s features and chosen programming language, the general steps remain the same.

ree

1. Create a Discord Bot Account

To start creating a Discord bot, sign in to the Discord Developer Portal. Here, you can create and manage bots, configure their settings, and generate an authentication link to invite them to your server.

To create a bot account:

  • Go to Applications in the sidebar.

  • Click New Application → enter a name and agree to the terms.

  • Customize the icon, description, and tags → click Save Changes.

  • Copy your Application ID and keep it safe—you’ll need it later.


Next, configure your bot token:

  • Go to Bot in the sidebar.

  • Click Reset Token, confirm, and copy the token.Keep this token private — it acts as your bot’s password and allows it to access the Discord API.

ree

Finally, enable Developer Mode to avoid issues related to bot SKUs:

  • In Discord, go to User Settings → Advanced.

  • Enable Developer Mode and Application Test Mode.

  • Enter your Application ID, set the URL Source Type to localhost, and Port to 8080.

  • Click Activate.


2. Configure Bot Permissions

After setting up your application:

  • Go to OAuth2 → General.

  • Under Default Authorization Link, select In-App Authorization.

  • Check the bot box and select the permissions you need.

  • Save the changes.

Then:

  • Go to OAuth2 → URL Generator.

  • Select bot as the scope and choose the same permissions.

  • Copy the generated URL — it contains your bot’s client ID.

Open this link in your browser, select your server, and click Authorize to invite the bot.⚠️ Avoid giving your bot Administrator permissions unless absolutely necessary.

ree

3. Choose a Programming Language

The most popular languages for Discord bots are JavaScript (Discord.js) and Python (discord.py). While C++ can also be used, official Discord API wrappers mainly support JavaScript and Python.

For beginners, Python is recommended due to its readability, simplicity, and strong community support. We’ll use Python for this tutorial.

You’ll need:

  • Python (installed on your system)

  • A code editor such as Visual Studio Code (VSCode)


4. Write the Bot’s Code

Create a new folder for your bot files and open it in VSCode.Then, create two files:

  • main.py → your bot’s main code

  • .env → stores your bot’s authentication token

Example Code:

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

intents = discord.Intents.all()
bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
    print(f'Connected as {bot.user.name}')

@bot.command()
async def greet(ctx):
    await ctx.send('Hello! I’m your Discord bot!')

@bot.command()
async def commands_list(ctx):
    await ctx.send('Available commands: \n!greet \n!commands_list \n!features')

@bot.command()
async def features(ctx):
    await ctx.send('I’m a simple Discord chat bot that responds to your commands!')

load_dotenv()
bot.run(os.getenv('TOKEN'))

In the .env file, add:

TOKEN=yourtoken

Run the bot by clicking Run Python File in VSCode or executing:

python3 main.py

How to Host a Discord Bot

Hosting your bot ensures it stays online 24/7. In this tutorial, we’ll use a HolyHosting VPS running Ubuntu 22.04.

1. Get VPS Hosting

While you can host your bot locally, it’s impractical since your computer must stay on at all times.Using a VPS (Virtual Private Server) is far more efficient — the host handles uptime, power, and networking for you.


HolyHosting VPS advantages:

  • SSD storage & high-performance CPUs

  • DDoS protection

  • SSH and FTP access

  • Dedicated IP addresses

  • Easy scalability and monitoring through Panel


2. Set Up the VPS Environment

Connect to your VPS via SSH (using PuTTY or Terminal) and install the necessary software:

sudo apt update
sudo apt upgrade
sudo apt install python3 python3-dev python3-venv python3-pip -y

Create a directory for your bot and a Python virtual environment:

mkdir DiscordBot
cd DiscordBot
python3 -m venv venv
source venv/bin/activate

3. Upload the Bot Files

Use FileZilla (SFTP) to transfer your bot’s files (main.py and .env) to your VPS under /DiscordBot/venv.Then, install dependencies:

pip install discord.py python-dotenv

4. Launch the Bot

To start your bot:

python3 main.py

Once it’s running, you’ll see “Connected as [bot name]” in the


terminal and your bot will appear online in Discord.

5. Keep the Bot Running 24/7

To prevent your bot from stopping when you close your SSH session, use Screen:

sudo apt install screen
screen
cd /DiscordBot/venv
python3 main.py

Press Ctrl + A + D to detach the session and keep it running in the background.Reconnect anytime using:

screen -r

Monitoring and Maintenance

To track performance and errors, enable Python logging in your code:

import logging
logging.basicConfig(level=logging.INFO,
format='[%(asctime)s] [%(levelname)s]: %(message)s',
handlers=[logging.FileHandler('bot.log'),
          logging.StreamHandler()])

Use tools like UptimeRobot or Grafana for monitoring uptime and performance.HolyHosting’s hPanel also includes built-in resource tracking for VPS usage.


Conclusion

Adding bots to your Discord server makes moderation easier and adds unique features.While pre-made bots exist, creating your own gives you full customization.


In summary:

  1. Create a bot in the Discord Developer Portal.

  2. Configure its permissions and invite it to your server.

  3. Write and test your bot’s code.

  4. Host it on a VPS like HolyHosting.

  5. Keep it running continuously and monitor its performance.

With this guide, you’re ready to build, deploy, and maintain your own Discord bot on a VPS in 2024.


Conclusion

We hope this guide has been helpful! 🚀 Remember, don’t hesitate to ask questions on the HolyHosting Discord or contact our support team.

Follow us on Twitter @HolyHosting to stay up to date.

ree

Stuffy @ HolyHosting

 
 

Related Posts

See All
How to Fix the "Mismatched Mod Channels" Error

Hello, HolyHosting players! 🌟We know that playing on modded servers is super fun, but it can also be a headache 🧠 when your mods don’t match between your game and the server. 😩 Here’s how to fix th

 
 

CREATE YOUR SERVER

READY TO GET STARTED?

Start today and we’ll offer you a 25% discount on your first bill with our new customer promotion!

Etiqueta.png
View active promotions and coupons
holyhosting logo

Powerful servers at affordable prices.

HolyHosting

Copyright © 2025 HOLY SERVERS LLC, operating under the name HolyHosting.

REG. NO.: 001599788. This business entity is officially registered at 30 N Gould St, Suite N, Sheridan, WY 82801, Wyoming, US.

  • X
  • Instagram
  • Facebook
  • Discordia
  • YouTube
  • Tik Tok

POPULAR

US

SUPPORT

Minecraft
Minecraft Dedicated Hosting
Discord Bot Hosting
Other Games Hosting
Voice Server Hosting
MC Servers Panel
Games Servers Panel

About Us
Client Area
Branding
Payment Methods
Hardware by Location
Terms and Conditions
Privacy Policies
Refund Policies

Create a Ticket
Knowledge Base
Discord
Network Status
Request Affiliation

dmca

Copyright © 2025 HOLY SERVERS LLC, operating under the registered name HolyHosting. All rights reserved.

The payment process may be handled by Tebex Limited, acting as the registered merchant and being responsible for product fulfillment and handling billing inquiries.

bottom of page