NOVO 📢 Oferta de lançamento limitada: até 70% de desconto no seu primeiro mês, em todos os jogos!Ver planos

Como hospedar um bot do Discord em C# (.NET)

Hospedagem de bot do DiscordUpdated Oct 22, 20264 min read

Este guia é para bots escritos em C# ou em outra linguagem .NET, por exemplo com Discord.Net ou DSharpPlus.

Escolha o tipo

  1. Abra o seu servidor no painel, fique na Visão geral e clique em Editar tipo de servidor.
  2. Escolha .NET Bot. Mudar o tipo reinstala o servidor e, por padrão, apaga os arquivos dele, então faça isso em um servidor novo. Veja Como trocar seu bot entre Node.js, Python e Java.
  3. Em Configurações, Imagem Docker, você pode escolher a versão do .NET (a 8 é a padrão; a 6, a 9 e a 10 estão disponíveis).

Um pequeno projeto de exemplo

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

Duas formas de fazer o deploy

Enviar o projeto. Em Files (arquivos), envie o seu .csproj e os arquivos de código-fonte (não as pastas bin e obj). A cada início, o servidor compila o seu projeto com dotnet publish e depois o executa. O primeiro build baixa os pacotes NuGet, então leva um minuto. Deixe Project or dll (projeto ou dll) vazio para usar o único .csproj da pasta principal, ou digite o nome do arquivo se houver vários.

Enviar os arquivos publicados. Rode dotnet publish -c Release no seu computador e envie o conteúdo da pasta de saída. Defina Project or dll como o nome do .dll, por exemplo MyBot.dll. Inicia mais rápido e usa menos memória.

Prefere usar git? Veja Como fazer deploy e atualizar seu bot do Discord pelo GitHub.

Token e início

Cole o seu token em Discord bot token. O seu código o lê como a variável de ambiente DISCORD_TOKEN. Abra o Console e inicie. Quando o console mostrar que o bot conectou, ele está online.

Bom saber

  • Compilar usa memória. Um projeto com muitos pacotes pode precisar de um plano com 1 GB ou mais durante o build; um .dll publicado precisa de muito menos. Veja De quanta RAM um bot do Discord precisa.
  • Um erro de build para o servidor e mostra as mensagens do compilador no Console. Corrija e aperte Start.
  • Faça o TargetFramework corresponder à versão do .NET que você escolheu (net8.0 para o .NET 8).

Já tem um em outro lugar? Traga seu servidor para nós

CRIE SEU SERVIDOR DE JOGOS
PRONTO PARA COMEÇAR?

Economize até 30% no seu novo servidor de jogos.
Desempenho premium, ativação instantânea e confiabilidade imbatível por um preço melhor.

NOSSOS ÚLTIMOS ARTIGOS