NOUVEAU 📢 Offre de lancement limitée : jusqu'à 70 % de remise sur votre premier mois, pour tous les jeux !Voir les offres

Comment héberger un bot Discord C# (.NET)

Hébergement de bots DiscordUpdated Oct 23, 20264 min read

Ce guide concerne les bots écrits en C# ou dans un autre langage .NET, par exemple avec Discord.Net ou DSharpPlus.

Choisir le type

  1. Ouvrez votre serveur dans le panel, restez sur l’Aperçu et cliquez sur Modifier le type de serveur.
  2. Choisissez .NET Bot. Changer le type réinstalle le serveur et supprime par défaut ses fichiers : faites-le donc sur un nouveau serveur. Voir Comment faire passer votre bot de Node.js à Python ou Java.
  3. Dans Paramètres, Image Docker, vous pouvez choisir la version de .NET (8 est la valeur par défaut ; 6, 9 et 10 sont disponibles).

Un petit exemple de projet

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);

Deux façons de déployer

Téléverser le projet. Dans Files, téléversez votre .csproj et vos fichiers source (pas les dossiers bin et obj). À chaque démarrage, le serveur compile votre projet avec dotnet publish puis l’exécute. La première compilation télécharge les paquets NuGet, elle prend donc une minute. Laissez Projet ou dll vide pour utiliser l’unique .csproj du dossier principal, ou saisissez le nom du fichier s’il y en a plusieurs.

Téléverser les fichiers publiés. Lancez dotnet publish -c Release sur votre ordinateur et téléversez le contenu du dossier de sortie. Réglez Projet ou dll sur le nom du .dll, par exemple MyBot.dll. Le démarrage est plus rapide et consomme moins de mémoire.

Vous préférez git ? Voir Comment déployer et mettre à jour votre bot Discord depuis GitHub.

Token et démarrage

Collez votre token dans Token du bot Discord. Votre code le lit comme la variable d’environnement DISCORD_TOKEN. Ouvrez Console et démarrez. Quand la console montre que le bot est connecté, il est en ligne.

Bon à savoir

  • La compilation consomme de la mémoire. Un projet avec beaucoup de paquets peut demander une offre avec 1 GB ou plus pendant la compilation ; un .dll publié en demande bien moins. Voir De combien de RAM un bot Discord a-t-il besoin.
  • Une erreur de compilation arrête le serveur, avec les messages du compilateur dans Console. Corrigez-les et appuyez sur Démarrer.
  • Faites correspondre TargetFramework à la version de .NET que vous avez choisie (net8.0 pour .NET 8).

Votre serveur est hébergé ailleurs ? Transférez-le chez nous

CRÉEZ VOTRE SERVEUR DE JEU
PRÊT À COMMENCER ?

Économisez jusqu’à 30% sur votre nouveau serveur de jeu.
Des performances premium, une activation instantanée et une fiabilité inégalée à un meilleur prix.

NOS DERNIERS ARTICLES