Questa guida è per i bot scritti in C# o in un altro linguaggio .NET, per esempio con Discord.Net o DSharpPlus.
Scegli il tipo
- Apri il tuo server nel pannello, resta su Panoramica e clicca su Modifica tipo di server.
- Scegli .NET Bot. Cambiare il tipo reinstalla il server e di default ne elimina i file, quindi fallo su un server nuovo. Vedi Come passare il tuo bot tra Node.js, Python e Java.
- In Impostazioni, Immagine Docker puoi scegliere la versione di .NET (la 8 è quella predefinita; sono disponibili 6, 9 e 10).
Un piccolo progetto di esempio
MyBot.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Discord.Net" Version="3.*" />
</ItemGroup>
</Project>
Program.cs
using Discord;
using Discord.WebSocket;
var client = new DiscordSocketClient(new DiscordSocketConfig { GatewayIntents = GatewayIntents.Guilds });
client.Log += msg => { Console.WriteLine(msg); return Task.CompletedTask; };
await client.LoginAsync(TokenType.Bot, Environment.GetEnvironmentVariable("DISCORD_TOKEN"));
await client.StartAsync();
await Task.Delay(Timeout.Infinite);
Due modi per distribuirlo
Carica il progetto. In Files, carica il tuo .csproj e i file sorgente (non le cartelle bin e obj). A ogni avvio il server compila il tuo progetto con dotnet publish e poi lo esegue. La prima compilazione scarica i pacchetti NuGet, quindi richiede un minuto. Lascia vuoto Project or dll per usare l'unico .csproj nella cartella principale, oppure scrivi il nome del file se ce n'è più di uno.
Carica i file pubblicati. Esegui dotnet publish -c Release sul tuo computer e carica il contenuto della cartella di output. Imposta Project or dll sul nome del .dll, per esempio MyBot.dll. Parte più in fretta e usa meno memoria.
Usi git invece? Vedi Come distribuire e aggiornare il tuo bot Discord da GitHub.
Token e avvio
Incolla il token in Discord bot token. Il tuo codice lo legge come variabile d'ambiente DISCORD_TOKEN. Apri Console e avvia. Quando la console mostra il bot connesso, è online.
Da sapere
- La compilazione usa memoria. Un progetto con molti pacchetti può avere bisogno di un piano con 1 GB o più mentre compila; un
.dllpubblicato ne richiede molta meno. Vedi Di quanta RAM ha bisogno un bot Discord. - Un errore di compilazione ferma il server, con i messaggi del compilatore in Console. Correggili e premi Avvia.
- Fai corrispondere
TargetFrameworkalla versione di .NET che hai scelto (net8.0per .NET 8).





