In Development·Tumobird is actively shipping — features and pricing are preview-only
Supported Runtimes

Every runtime for Discord bot hosting, pre-built.

Write your Discord bot in whatever language fits the job. Every runtime is baked into the Tumobird base image so cold starts are measured in milliseconds, not seconds.

Node.js for Discord bot hosting

The most common runtime for Discord bots, supported end-to-end on Tumobird.

Tumobird ships with Node.js 20, 22, and the current LTS pre-installed. discord.js is the canonical library for Node-based Discord bots and works out of the box — no build configuration, no native-module patching. For lightweight bots or edge cases, we also support Eris, the low-level alternative that trades ergonomics for throughput.

Your deploy contract is simple: a package.json with a start script, plus a lockfile (package-lock.json, yarn.lock, or pnpm-lock.yaml). We install dependencies with the matching package manager, cache the node_modules layer by lockfile hash, and run npm start — or whatever you've defined. First build is typically 15–30 seconds; incremental builds on a cached node_modules are under 8.

Supported Node.js libraries

  • discord.js — the default, with full slash-command and interaction support
  • Eris — lightweight alternative for high-throughput bots
  • Sapphire — opinionated framework on top of discord.js
  • necord — NestJS integration for larger bot codebases

Python Discord bot hosting

The second-most popular runtime among Tumobird customers.

Python 3.10, 3.11, and 3.12 are pre-installed. discord.py (back from its 2020 hiatus) is the dominant library and is tested against every Tumobird base image update. Pycord, the fork that grew during discord.py's pause, is equally well-supported — we don't pick sides.

Deploy contract: a requirements.txt, pyproject.toml, or Pipfile, plus a main.py or a Procfile pointing at your entry point. We use pip under a wheel cache so subsequent installs of the same dependency graph take 3–5 seconds instead of 90. Poetry and uv are detected automatically when their lockfiles are present.

Supported Python libraries

  • discord.py — the canonical Python Discord library
  • Pycord — feature-rich alternative with slash-command-first design
  • disnake — modern fork focused on interactions
  • hikari — async-native, high-performance option

Rust Discord bot hosting

Our favorite runtime — first-class support, aggressive build caching, and tuned for throughput.

Rust 1.75+ is pre-installed on every Tumobird node, with the full stable toolchain plus cargo, rustfmt, clippy, and sccache baked in. We're opinionated about Rust because it's genuinely the best runtime for Discord bot hosting once you get past the first hour: throughput is absurd, memory usage stays flat over weeks of uptime, and the compiler catches most of the concurrency bugs that plague long-running gateway clients in other languages.

Builds use an sccache-backed layered cache keyed on your Cargo.lock, so the second deploy of a mid-size Rust bot takes 10–20 seconds instead of the 2–4 minutes it would take from scratch. Release profile is the default for production deploys; debug profile is available on preview branches for faster iteration. We also support cargo-chef automatically if it's present.

Supported Rust libraries

  • serenity — the batteries-included option with a full client, command framework, and voice support
  • twilight — modular, high-throughput alternative that lets you pick only the crates you need (gateway, cache, HTTP, interactions)
  • poise — the slash-command-first framework built on top of serenity, great for modern interaction-heavy bots
  • songbird — voice library that pairs cleanly with serenity or twilight for music and voice-channel bots

Rust bots running on Tumobird routinely handle 5–10k gateway events per second on a single Hobby-tier vCPU share — roughly an order of magnitude more than equivalent Node or Python bots. For bots approaching 10k+ guilds or doing heavy in-process analytics, Rust on the Standard tier is usually the right move before jumping to Dedicated.

Go, JVM, Deno, Bun, and Lua

The rest of the supported stack for Discord bot hosting.

Go (discordgo) — Go 1.21+ is pre-installed. discordgo remains the standard library for writing Discord bots in Go. Your deploy needs a go.mod and a main package; we build with go build and run the resulting binary directly. Cold starts for Go bots are among the fastest on the platform — typically under 200 ms from container start to Discord gateway connection.

JVM (Kotlin, Java, Scala) — We support JDA (Java), Discord4J (reactive Java), and Kord (coroutine-first Kotlin). Deploy from a Maven or Gradle project and we build the fat JAR automatically. JVM bots get the most RAM-per-dollar on Standard and Dedicated tiers since our compute nodes are tuned for long-running JVM workloads.

Deno and Bun — Deno 1.40+ and Bun 1.0+ are pre-installed. For Deno, harmony and discordeno are both supported. Bun runs discord.js with significantly faster startup than Node — often 3–4x. Choose Bun if you want the discord.js ecosystem with Go-level cold-start performance.

Lua (discordia) — LuaJIT 2.1 is pre-installed. discordia is supported for the small but loyal Lua bot community — especially useful for game-integration bots where Lua is already part of the stack.

Which runtime should I pick for my Discord bot?

An opinionated guide, from the people running the hosting.

If you're starting fresh and want the easiest path to shipping: Node.js with discord.js. The tutorial ecosystem is deepest, interactive docs are great, and stack traces match what Discord's own devrel publishes.

If your bot leans heavily on AI/LLM APIs or data processing: Python with discord.py. You get direct access to the ML ecosystem (openai, anthropic, transformers, langchain) without a translation layer.

If you need maximum throughput, memory efficiency, or you just like your code to compile before it crashes: Rust with twilight or serenity + poise. This is what we run internally. A mid-size Rust bot handles 5–10k gateway events per second on a Hobby-tier vCPU share and stays flat on memory for weeks at a time. Go with discordgo is the close second — also excellent, slightly less type-safety, faster onboarding.

If you already have a JVM codebase or team expertise: Kotlin with Kord. You get coroutines, strong typing, and access to every JVM library without learning a new ecosystem.

If you want the discord.js API with Go-level startup speed: Bun with discord.js. Best-of-both in early 2026.

Deploy in any runtime for $1.99 / month.

Every language, every major library, all pre-built. 14-day free trial.

Start deploying