%
ISTANBUL'a taşınmamıza özel Oyun Sunucularında %10 İNDİRİM (sadece yeni müşterilere özel)
Discord Bot (NodeJS)Discord Bot (NodeJS) Server Hosting

Discord Bot Hosting (Node.js)

Run your discord.js bot, webhook receiver or small Node.js API while your own PC is off, with npm, .env secrets and live console logs at hand.

discord.js Readynpm DependenciesSecrets in .envLive Console LogsRuns 24/7Free DDoS Protection
Game Servers

Choose your Game Server

Select from our wide range of optimized game servers. Each server is configured for maximum performance and comes with DDoS protection.

1. Plan Type

2. Location

3. Choose Plan

Premium
İstanbul

Discord 1GB

1 GB RAM
Unmetered CPU
Unmetered SSD
DDoS Protection
$1.10/mo
Order Now
Premium
İstanbul

Discord 2GB

2 GB RAM
Unmetered CPU
Unmetered SSD
DDoS Protection
$2.20/mo
Order Now
Premium
İstanbul

Discord 3GB

3 GB RAM
Unmetered CPU
Unmetered SSD
DDoS Protection
$3.30/mo
Order Now

Which Discord Bot (NodeJS) Plan Is Right for You?

Compare recommended use, plan hardware and monthly prices.

PlanRecommended forHardwareMonthly price
Discord 1GBBudget series: single-server command botThe natural starting point for hobby projects, moderation and role bots.Unmetered · 1 GB · Unmetered SSD₺36.00/mo
Discord 2GBBudget series: bot in dozens of serversFor bots with a growing cache, or one that also runs a small webhook receiver.Unmetered · 2 GB · Unmetered SSD₺72.00/mo
Discord 3GBBudget series: music, images or an APIFor voice, canvas image generation or an Express API in the same process.Unmetered · 3 GB · Unmetered SSD₺108.00/mo
Discord 1GBPremium series: single-server command botThe same 1 GB of RAM in the premium series; compare series on the order page.Unmetered · 1 GB · Unmetered SSD₺36.00/mo
Discord 2GBPremium series: growing multi-server bot2 GB for multi-server bots; the order page lists what the premium series adds.Unmetered · 2 GB · Unmetered SSD₺72.00/mo
Discord 3GBPremium series: heavy bot or small APIThe premium version of the largest RAM option, suited to music bots and APIs.Unmetered · 3 GB · Unmetered SSD₺108.00/mo

Why TheCrewHost for Discord Bot (NodeJS)?

What a Node.js bot or small app needs to stay up without babysitting.

Live Console and Logs

Your console.log output and uncaught errors appear in the panel console as they happen, so you read the last lines to find out why the bot stopped instead of guessing.

Dependencies via npm

Packages like discord.js, dotenv or express install from package.json with npm. There is no need to drag your local node_modules folder onto the server.

Token in .env, Not in Code

Keep your bot token and API keys in a .env file and load them with dotenv. Even if you push your code to GitHub, the secrets stay on the server.

A Bot That Stays Online

Because the bot does not depend on your computer, it keeps answering commands while you sleep. If it ever crashes, start, stop and restart are one click away in the panel.

Quick Deploys Over SFTP

Upload changed files with SFTP or the file manager and restart the bot. A small SQLite database or JSON config files can live in the same project folder.

Support Around the Clock

A bot that will not start, a missing module or a Node.js version question: reach our team any time by ticket, Discord, WhatsApp, phone or live chat.

Node.js Discord bot hosting at TheCrewHost starts at ₺36.00 ($0.90) per month and keeps a discord.js bot running 24/7 on our servers in İstanbul. Upload your code and package.json through the file manager or SFTP, install dependencies with npm, and keep your token in a .env file instead of your source code. The panel console streams your bot's output live, so when an error takes it down you can see why and restart it with one click. RAM options run from 1 GB to 3 GB across two series, budget and premium, and you can move up as a single-server moderation bot grows into something hundreds of communities rely on.

What can you run with Node.js hosting?

These plans are built for Node.js processes that need to run continuously, and the most common use is a Discord bot written with discord.js: moderation, reaction roles, tickets, leveling and economy bots, or small tools that post server stats. Since the bot runs on a server rather than your PC, it keeps responding after you shut your computer down.

They are useful beyond Discord, too. A small Express app that receives webhooks from GitHub or a payment provider, a scheduled job that pulls data and posts it to a channel, or a simple JSON API for your community all fit comfortably.

It helps to know the limits. A website with its own domain, an SSL certificate and heavy visitor traffic belongs on web hosting or a VPS. These plans are for keeping a single Node.js process reliably alive.

How do you upload and start your bot?

Upload your code, package.json and package-lock.json if you have one. Skip the node_modules folder, because dependencies are installed on the server with npm. That matters most for packages with native builds such as better-sqlite3, since a module compiled on a different operating system may not run on the server.

Make sure the main field in package.json, and the start script if you use one, point at your bot's real entry file, such as index.js. Keep the folder layout identical to your local project; a config file read through a relative path will throw on the very first line if it lands in the wrong folder.

Watch the console on the first run. If you see the log line you print in your ready handler, such as the bot's tag, you are connected. "Cannot find module" points to a missing dependency, and "An invalid token was provided" means the token is wrong or has been reset. If you run into trouble with the start command, our support team can help.

Handling tokens, intents and environment variables

Your bot token is effectively its password and should never be hard-coded. Put a .env file in the project folder, store the token in a variable such as DISCORD_TOKEN, and read it through process.env using the dotenv package. Adding .env to .gitignore keeps the token out of any repository you share. If the token ever leaks, reset it right away in the Discord Developer Portal and put the new one in .env.

Discord keeps some data behind privileged gateway intents: Message Content, Server Members and Presence. A bot that uses prefix commands cannot read message text until Message Content is enabled in the Developer Portal. Enable the intents you need there, and list the same ones when you create your discord.js client.

Slash commands are registered with Discord once. Run your deploy script only when the commands change, not on every startup, to avoid wasted API calls and rate limits.

How much RAM does a Discord bot need?

A simple slash-command bot or a moderation bot serving a single server will not come close to the limits of Discord 1GB. Node.js and discord.js start with a modest footprint; what really drives memory is the data your bot keeps in cache.

discord.js caches guilds, channels, members and messages. As your bot joins hundreds of servers and the member cache grows, memory use climbs, and Discord 2GB or 3GB gives it room. Limiting the cache with discord.js's makeCache and sweepers options is often worth trying before you upgrade.

Music bots that join voice channels, bots that render images with canvas, and projects running an Express API in the same process need more headroom, so starting on a 3GB plan makes sense for them. Once a bot reaches 2,500 servers, Discord requires sharding, and discord.js's ShardingManager makes that transition manageable. Plans come in budget and premium series, and the order page lists what separates them.

Why does a bot go offline, and how do you keep it running 24/7?

On a server, the most common reason a bot dies is an uncaught error in the code. In current Node.js versions, an unhandled promise rejection terminates the process by default, so a single await that tries to message a channel the bot cannot access can take the whole thing down. Wrapping important Discord calls in try/catch, logging failures with process.on('unhandledRejection') and listening to the client's error event prevent most crashes.

Network drops are usually harmless: discord.js tries to reconnect by itself when the gateway connection is lost. A bot that stays offline for good usually has an invalid token, a missing intent or an error that stops the process.

You can read the logs in the panel console, and writing important events to a file as well makes it easier to look back later. Logging process.version at startup quickly reveals errors caused by a package's minimum Node.js requirement. If you need a different Node.js version, message our support team.

How to Set Up a Discord Bot (NodeJS) Server

  1. 1

    Pick a plan that fits your bot

    1GB is enough for a single-server moderation or command bot. Look at the 2GB and 3GB plans for multi-server bots, music bots or projects that also run an API.

  2. 2

    Upload your files via SFTP or the file manager

    Put your code, package.json and package-lock.json in the root folder. Leave node_modules behind, since dependencies are installed on the server.

  3. 3

    Store your token and secrets in .env

    Define variables such as DISCORD_TOKEN in .env and read them through process.env with dotenv. Never embed the token in your source code.

  4. 4

    Install dependencies with npm and start the bot

    Once npm has installed the packages from package.json, start the bot from the panel and watch the console until your ready message appears.

  5. 5

    Check intents in the Developer Portal

    If the bot reads message content or member lists, enable Message Content and Server Members in the portal and request the same intents in your code.

  6. 6

    Invite the bot with an OAuth2 link

    Generate an invite link in the Developer Portal with the bot and applications.commands scopes. A server admin opens it to add the bot, and slash commands appear.

Frequently Asked Questions

Common questions before moving a Node.js bot or app onto hosting.

How much does Node.js Discord bot hosting cost?
Plans start at ₺36.00 ($0.90) per month with Discord 1GB in the budget series, and there are 6 plans in total. The same RAM options are offered in two series, budget and premium. The plan table on this page shows every current price, and you can upgrade as your bot grows.
How much RAM does my bot need?
1GB covers a moderation or slash-command bot on a single server. As the bot joins dozens or hundreds of servers, the discord.js cache grows and 2GB starts to make sense. For music bots, bots that generate images with canvas, and projects running an Express API alongside the bot, we suggest starting at 3GB.
What is the difference between budget and premium plans?
Both series offer 1, 2 and 3 GB of RAM, and premium plans sit in a higher price bracket for the same amount of memory. The order page lists exactly what each series includes. If you are not sure which suits your project, describe your bot to our support team and they will point you in the right direction.
Can I run Node.js apps other than a Discord bot?
Yes. A small Express app listening for webhooks, a script running scheduled tasks or a simple JSON API can run on these plans. Your app needs to listen on the IP and port assigned to your server. For websites that need a domain, SSL and heavy traffic, web hosting or a VPS is the better fit.
How long does setup take?
Setup completes automatically after payment, and your environment is ready in the control panel. From there you upload your files, let npm install the dependencies and create your .env file. For a small bot, those steps usually take just a few minutes.
How do I add my bot to a Discord server?
In the Discord Developer Portal, open your application's OAuth2 section and generate an invite link with the bot and applications.commands scopes. A server admin opens the link to add the bot. As long as it is running on our servers, it shows as online in every server it has joined.
Why does my bot keep crashing?
Uncaught errors are the usual cause: in current Node.js versions, an unhandled promise rejection ends the process. The last lines in the panel console show where it came from. Wrapping Discord calls in try/catch and logging with process.on('unhandledRejection') prevents most crashes. An invalid token or a missing intent will also stop the bot from starting.
How do I keep my token safe?
Store the token in a .env file rather than in your code, and read it through process.env with the dotenv package. Add .env to .gitignore so it stays private when you share your code. If you suspect the token has been exposed, reset it immediately in the Discord Developer Portal and update your .env file.
Are backups, DDoS protection and upgrades available?
You can back up your files from the panel, although your code should also live in a Git repository; the data that changes, such as database files, is what most needs backing up. Every plan includes free DDoS protection, and you can move to a larger plan whenever your bot needs more room.

İstanbul Location,
Maximum Performance

Our İstanbul datacenter runs on Ryzen 9 hardware, delivering low latency to players in Türkiye and good connectivity to Europe, the Middle East and the Caucasus.

Turkey

İstanbul flag

İstanbul

Turkey

Connect with our community of gamers and developers

Get instant support, share experiences, and stay updated with the latest news

Join Discord