Este guia é para bots escritos em C# ou em outra linguagem .NET, por exemplo com Discord.Net ou DSharpPlus.
Escolha o tipo
- Abra o seu servidor no painel, fique na Visão geral e clique em Editar tipo de servidor.
- 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.
- 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
.dllpublicado 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
TargetFrameworkcorresponder à versão do .NET que você escolheu (net8.0para o .NET 8).





