NIEUW 📢 Beperkte lanceeractie: tot 70% korting op je eerste maand, voor elke game!Bekijk pakketten

Een C# (.NET) Discord-bot hosten

Discord-bothostingUpdated Oct 23, 20263 min read

Deze gids is voor bots die zijn geschreven in C# of een andere .NET-taal, bijvoorbeeld met Discord.Net of DSharpPlus.

Het type kiezen

  1. Open je server in het panel, blijf op Overzicht en klik op Servertype bewerken.
  2. Kies .NET Bot. Als je het type wijzigt, wordt de server opnieuw geïnstalleerd en worden standaard zijn bestanden verwijderd, dus doe dit op een nieuwe server. Zie Je bot wisselen tussen Node.js, Python en Java.
  3. Bij Instellingen, Docker-image kies je de .NET-versie (8 is de standaard; 6, 9 en 10 zijn beschikbaar).

Een klein voorbeeldproject

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

Twee manieren om te deployen

Het project uploaden. Upload in Files je .csproj en bronbestanden (niet de mappen bin en obj). Bij elke start bouwt de server je project met dotnet publish en draait hij het daarna. De eerste build downloadt NuGet-pakketten en duurt daarom een minuut. Laat Project of dll leeg om de enige .csproj in de hoofdmap te gebruiken, of typ de bestandsnaam als er meerdere zijn.

Gepubliceerde bestanden uploaden. Draai dotnet publish -c Release op je computer en upload de inhoud van de uitvoermap. Zet Project of dll op de naam van de .dll, bijvoorbeeld MyBot.dll. Dit start sneller en gebruikt minder geheugen.

Gebruik je liever git? Zie Je Discord-bot deployen en bijwerken vanuit GitHub.

Token en starten

Plak je token in Discord-bottoken. Je code leest het als de omgevingsvariabele DISCORD_TOKEN. Open Console en start de server. Zodra de console laat zien dat de bot verbonden is, is hij online.

Goed om te weten

  • Bouwen kost geheugen. Een project met veel pakketten heeft tijdens het bouwen misschien een pakket met 1 GB of meer nodig; een gepubliceerde .dll heeft veel minder nodig. Zie Hoeveel RAM heeft een Discord-bot nodig.
  • Een buildfout stopt de server, met de berichten van de compiler in Console. Los ze op en druk op Starten.
  • Laat TargetFramework overeenkomen met de .NET-versie die je hebt gekozen (net8.0 voor .NET 8).

Draait je server al ergens anders? Verhuis hem naar ons

MAAK JE EIGEN GAMESERVER
KLAAR OM TE BEGINNEN?

Bespaar tot 30% op je nieuwe gameserver.
Premium prestaties, directe activatie en ongeëvenaarde betrouwbaarheid voor een betere prijs.

ONZE NIEUWSTE BLOGS