Un bot Rust si compila sul tuo computer e si carica come un unico programma Linux già pronto; sul server non viene compilato nulla, quindi tutta la memoria del tuo piano va al bot. Per eseguirne uno:
- Compilalo per Linux x86-64 sul tuo computer.
- Cambia il tipo: nella pagina Bot, sezione Codice, clicca su Cambia cosa viene eseguito accanto a Runtime e scegli Rust Bot.
- Carica il programma (chiamato
botin modo predefinito) in Files, oppure imposta Link di download (facoltativo) nella sezione Codice. - Incolla il tuo token nella pagina Bot, sezione Discord, e clicca su Collega.
- Premi Avvia e guarda Console.
1. Compila per Linux
rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl
Il programma finisce in target/x86_64-unknown-linux-musl/release/, con il nome del tuo crate. Il target musl crea un unico file autonomo che non dipende dalle librerie di sistema del server. Compilare su Windows o macOS richiede un linker per Linux; strumenti come cross o cargo-zigbuild se ne occupano per te. Un .exe o una build per macOS non gira sul server.
2. Un bot serenity minimo
Cargo.toml (dipendenze)
[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:?}");
}
}
Il token arriva da DISCORD_TOKEN. Stampare Logged in as porta il badge nella Panoramica su Online su Discord. I bot poise e twilight funzionano allo stesso modo: compila, carica, avvia.
3. Passa il tipo a Rust Bot
Nella pagina Bot, sezione Codice, clicca su Cambia cosa viene eseguito accanto a Runtime e scegli Rust Bot. Da computer, l'etichetta del tipo in cima alla pagina (per esempio Node.js Bot) apre la stessa finestra. Vedi Come passare il tuo bot a un altro linguaggio.
4. Metti il programma sul server
Caricalo: rinomina il tuo programma in bot (oppure imposta File di avvio sul suo nome), poi in Files clicca su Carica e sceglilo. Carica anche gli eventuali file che legge, accanto a lui. Il server lo rende eseguibile all'avvio.
Oppure lascia che lo scarichi il server: nella pagina Bot, sezione Codice, riquadro Impostazioni, imposta Link di download (facoltativo) su un link https al tuo programma già pronto, per esempio un file di una release su GitHub, e clicca su Salva. All'avvio, quando il file del programma manca, il server lo scarica (fino a 500 MB). Per aggiornare, pubblica una nuova build a quel link, elimina il programma in Files e premi Avvia. Con un link impostato, Avvia il bot nel riquadro di configurazione funziona prima che il file esista: il download fa parte dell'avvio.

5. Controlla le impostazioni e avvia
- File di avvio (riquadro Come viene eseguito): il nome e la cartella del programma,
botin modo predefinito. - Argomenti di avvio (facoltativo) (riquadro Impostazioni): argomenti aggiuntivi per il tuo programma. I caratteri della shell come
$,;,&e>non sono ammessi.
Incolla il tuo token nella sezione Discord, clicca su Collega, poi premi Avvia. La console mostra [PlayNHost] Starting your bot e poi l'output del tuo programma.
Righe della console che puoi vedere
| Riga | Cosa fare |
|---|---|
[PlayNHost] Your bot is not set up yet: the program bot was not found. | Carica il programma, oppure imposta File di avvio sul suo nome e sulla sua cartella esatti. |
[PlayNHost] bot is not a Linux program. Build it for Linux x86-64 (not Windows or macOS) and upload it again. | Compila di nuovo per x86_64-unknown-linux-musl. |
[PlayNHost] Downloading your program, poi [PlayNHost] The download failed. Check the download link on the Bot page, Code, Settings, then press Start. | Il link è sbagliato, privato o non https. Controlla Link di download (facoltativo) nella sezione Codice, sotto Impostazioni. |
DISCORD_TOKEN is not set (dall'esempio) | Incolla il token nella sezione Discord, poi riavvia. |
I bot Rust non hanno un'origine Git né un campo Pacchetti: i tuoi crate sono dentro il programma. Le chiavi e le password vanno sotto Ambiente, lette con std::env::var: Come impostare variabili d'ambiente e segreti.



