Een Rust-bot bouw je op je eigen computer en upload je als één afgewerkt Linux-programma. Er wordt niets op de server gecompileerd, dus al het geheugen van je pakket gaat naar de bot. Zo draai je er een:
- Bouw hem voor Linux x86-64 op je computer.
- Wissel het type: klik op de pagina Bot, deel Code, naast Runtime op Wijzigen wat er draait en kies Rust Bot.
- Upload het programma (standaard
botgenoemd) in Files, of vul Downloadlink (optioneel) in het deel Code in. - Plak je token op de pagina Bot, deel Discord, en klik op Verbinden.
- Druk op Starten en volg Console.
1. Bouw voor Linux
rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl
Het programma komt in target/x86_64-unknown-linux-musl/release/ terecht, genoemd naar je crate. Het musl-target maakt één op zichzelf staand bestand dat niet afhangt van de systeembibliotheken van de server. Bouwen op Windows of macOS vraagt om een Linux-linker; tools zoals cross of cargo-zigbuild regelen dat voor je. Een .exe of een macOS-build draait niet op de server.
2. Een minimale serenity-bot
Cargo.toml (dependencies)
[dependencies]
serenity = "0.12"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
src/main.rs
use serenity::async_trait;
use serenity::model::gateway::Ready;
use serenity::prelude::*;
struct Handler;
#[async_trait]
impl EventHandler for Handler {
async fn ready(&self, _ctx: Context, ready: Ready) {
println!("Logged in as {}", ready.user.name);
}
}
#[tokio::main]
async fn main() {
let token = std::env::var("DISCORD_TOKEN").expect("DISCORD_TOKEN is not set");
let mut client = Client::builder(&token, GatewayIntents::GUILDS)
.event_handler(Handler)
.await
.expect("could not create the client");
if let Err(why) = client.start().await {
println!("Client error: {why:?}");
}
}
Het token komt uit DISCORD_TOKEN. Door Logged in as te printen verandert het statuslabel op Overzicht in Online in Discord. Bots met poise en twilight werken op dezelfde manier: bouwen, uploaden, starten.
3. Wissel het type naar Rust Bot
Klik op de pagina Bot, deel Code, naast Runtime op Wijzigen wat er draait en kies Rust Bot. Op een computer opent het typelabel bovenaan de pagina (bijvoorbeeld Node.js Bot) hetzelfde venster. Zie Je bot naar een andere taal of een kant-en-klare bot overzetten.
4. Zet het programma op de server
Upload het: hernoem je programma naar bot (of zet Startbestand op zijn naam), klik dan in Files op Uploaden en kies het. Upload ook de bestanden die het ernaast leest. De server maakt het bij het starten uitvoerbaar.
Of laat de server het downloaden: zet op de pagina Bot, deel Code, kaart Instellingen, Downloadlink (optioneel) op een https-link naar je afgewerkte programma, bijvoorbeeld een releasebestand op GitHub, en klik op Opslaan. Bij een start downloadt de server het programmabestand als het ontbreekt (tot 500 MB). Om bij te werken publiceer je een nieuwe build op die link, verwijder je het programma in Files en druk je op Starten. Met een link werkt Bot starten in de installatiekaart voordat het bestand bestaat: de download hoort bij de start.

5. Controleer de instellingen en start
- Startbestand (kaart Hoe hij draait): de naam en map van het programma, standaard
bot. - Startargumenten (optioneel) (kaart Instellingen): extra argumenten voor je programma. Shelltekens zoals
$,;,&en>zijn niet toegestaan.
Plak je token in het deel Discord, klik op Verbinden en druk dan op Starten. De console toont [PlayNHost] Starting your bot en daarna de uitvoer van je programma.
Consoleregels die je kunt zien
| Regel | Wat je doet |
|---|---|
[PlayNHost] Your bot is not set up yet: the program bot was not found. | Upload het programma, of zet Startbestand op de exacte naam en map. |
[PlayNHost] bot is not a Linux program. Build it for Linux x86-64 (not Windows or macOS) and upload it again. | Bouw opnieuw voor x86_64-unknown-linux-musl. |
[PlayNHost] Downloading your program, daarna [PlayNHost] The download failed. Check the download link on the Bot page, Code, Settings, then press Start. | De link is fout, privé of niet https. Controleer Downloadlink (optioneel) in het deel Code, onder Instellingen. |
DISCORD_TOKEN is not set (uit het voorbeeld) | Plak het token in het deel Discord en herstart dan. |
Rust-bots hebben geen Git-bron en geen veld Packages: je crates zitten in het programma. Sleutels en wachtwoorden horen onder Omgeving en je leest ze met std::env::var: Omgevingsvariabelen en geheimen instellen voor je Discord-bot.



