NOWOŚĆ 📢 Ograniczona oferta na start: do 70% zniżki na pierwszy miesiąc, na każdą grę!Zobacz plany

Jak hostować bota Discord w C# (.NET)

Hosting botów DiscordUpdated Oct 23, 20263 min read

Ten poradnik jest dla botów napisanych w C# lub innym języku .NET, na przykład z Discord.Net albo DSharpPlus.

Wybierz typ

  1. Otwórz serwer w panelu, zostań na stronie Przegląd i kliknij Zmień typ serwera.
  2. Wybierz .NET Bot. Zmiana typu instaluje serwer ponownie i domyślnie usuwa jego pliki, więc zrób to na nowym serwerze. Zobacz Jak przełączać bota między Node.js, Pythonem i Javą.
  3. W Ustawienia, Obraz Dockera możesz wybrać wersję .NET (domyślna to 8; dostępne są 6, 9 i 10).

Mały przykładowy projekt

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

Dwa sposoby wdrożenia

Wgraj projekt. W Files wgraj swój .csproj i pliki źródłowe (bez folderów bin i obj). Przy każdym starcie serwer buduje twój projekt przez dotnet publish i uruchamia go. Pierwsza kompilacja pobiera pakiety NuGet, więc trwa minutę. Zostaw Projekt lub dll (opcjonalnie) puste, żeby użyć jedynego .csproj w głównym folderze, albo wpisz nazwę pliku, jeśli jest ich kilka.

Wgraj opublikowane pliki. Uruchom dotnet publish -c Release na swoim komputerze i wgraj zawartość folderu wyjściowego. Ustaw Projekt lub dll (opcjonalnie) na nazwę .dll, na przykład MyBot.dll. Startuje szybciej i potrzebuje mniej pamięci.

Wolisz git? Zobacz Jak wdrożyć i aktualizować bota Discord z GitHub.

Token i start

Wklej token do pola Token bota Discord. Twój kod czyta go jako zmienną środowiskową DISCORD_TOKEN. Otwórz Console i uruchom. Gdy konsola pokazuje, że bot się połączył, jest online.

Warto wiedzieć

  • Kompilacja zużywa pamięć. Projekt z wieloma pakietami może wymagać planu z 1 GB lub więcej podczas budowania; opublikowany .dll potrzebuje znacznie mniej. Zobacz Ile RAM potrzebuje bot Discord.
  • Błąd kompilacji zatrzymuje serwer, a komunikaty kompilatora trafiają do Console. Popraw je i naciśnij Uruchom.
  • Dopasuj TargetFramework do wybranej wersji .NET (net8.0 dla .NET 8).

Masz już serwer gdzie indziej? Przenieś go do nas

STWÓRZ SWÓJ SERWER GIER
GOTOWY, ABY ZACZĄĆ?

Oszczędź nawet 30% na swoim nowym serwerze gier.
Wydajność premium, natychmiastowa aktywacja i niezawodność bez kompromisów. Wszystko w lepszej cenie.

NASZE OSTATNIE WPISY