NUEVO 📢 Oferta de lanzamiento limitada: ¡hasta un 70% de descuento en tu primer mes, en todos los juegos!Ver planes

Cómo alojar un bot de Discord en C# (.NET)

Hosting de bots de DiscordUpdated Oct 22, 20263 min read

Esta guía es para bots escritos en C# u otro lenguaje de .NET, por ejemplo con Discord.Net o DSharpPlus.

Elige el tipo

  1. Abre tu servidor en el panel, quédate en Resumen y haz clic en Editar tipo de servidor.
  2. Elige .NET Bot. Cambiar el tipo reinstala el servidor y, por defecto, borra sus archivos, así que hazlo en un servidor nuevo. Mira Cómo cambiar tu bot entre Node.js, Python y Java.
  3. En Ajustes, Imagen de Docker puedes elegir la versión de .NET (la 8 es la predeterminada; la 6, la 9 y la 10 están disponibles).

Un pequeño proyecto de ejemplo

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

Dos formas de desplegar

Subir el proyecto. En Files, sube tu .csproj y los archivos de código (no las carpetas bin y obj). En cada inicio, el servidor compila tu proyecto con dotnet publish y después lo ejecuta. La primera compilación descarga los paquetes de NuGet, así que tarda un minuto. Deja Project or dll vacío para usar el único .csproj de la carpeta principal, o escribe el nombre del archivo si hay varios.

Subir los archivos publicados. Ejecuta dotnet publish -c Release en tu ordenador y sube el contenido de la carpeta de salida. Pon en Project or dll el nombre del .dll, por ejemplo MyBot.dll. Arranca más rápido y necesita menos memoria.

¿Prefieres usar git? Mira Cómo desplegar y actualizar tu bot de Discord desde GitHub.

Token e inicio

Pega tu token en Discord bot token. Tu código lo lee como la variable de entorno DISCORD_TOKEN. Abre Console e inicia el servidor. Cuando la consola muestre que el bot se conectó, ya está en línea.

Conviene saber

  • Compilar usa memoria. Un proyecto con muchos paquetes puede necesitar un plan de 1 GB o más mientras compila; un .dll publicado necesita mucho menos. Mira Cuánta RAM necesita un bot de Discord.
  • Un error de compilación detiene el servidor y deja los mensajes del compilador en Console. Corrígelos y pulsa Start.
  • Haz que TargetFramework coincida con la versión de .NET que elegiste (net8.0 para .NET 8).

¿Ya lo tienes en otro proveedor? Trae tu servidor con nosotros

CREA TU SERVIDOR DE JUEGOS
¿LISTO PARA EMPEZAR?

Ahorra hasta un 30% en tu nuevo servidor de juegos.
Rendimiento premium, activación instantánea y una fiabilidad inigualable al mejor precio.

NUESTROS ÚLTIMOS BLOGS