title: Discord bot running, but will not connect to server
body: <p>I've been trying to swap over my code from the 0.9.6 Discord.NET API to the new 1.0.1 API, and it's basically calling for a complete restructure to my code. But I've been having some trouble actually getting the bot up and running first of all.</p>
  
  <p>I set up the code body according to the guide linked <a href="https://discord.foxbot.me/docs/guides/commands/commands.html" rel="nofollow noreferrer">here</a></p>
  
  <p>And while it runs without error, the bot itself is not appearing online in my server.</p>
  
  <p>And before you ask, I had in fact replaced "Bot token here" with the actual bot token.</p>
  
  <pre><code>namespace DiscordBot{
    public class Program
    {
      private CommandService commands;
      private DiscordSocketClient client;
      private IServiceProvider services;
  
      static void Main(string[] args) =&gt; new Program().Start().GetAwaiter().GetResult();
  
      public async Task Start()
      {
          client = new DiscordSocketClient();
          commands = new CommandService();
  
          string token = "&lt;token&gt;";
  
          services = new ServiceCollection()
                  .BuildServiceProvider();
  
          await InstallCommands();
  
          await client.LoginAsync(TokenType.Bot, token);
          await client.StartAsync();
  
          await Task.Delay(-1);
      }
  
      public async Task InstallCommands()
      {
          // Hook the MessageReceived Event into our Command Handler
          client.MessageReceived += HandleCommand;
          // Discover all of the commands in this assembly and load them.
          await commands.AddModulesAsync(Assembly.GetEntryAssembly());
      }
  
      public async Task HandleCommand(SocketMessage messageParam)
      {
          // Don't process the command if it was a System Message
          var message = messageParam as SocketUserMessage;
          if (message == null) return;
          // Create a number to track where the prefix ends and the command begins
          int argPos = 0;
          // Determine if the message is a command, based on if it starts with '!' or a mention prefix
          if (!(message.HasCharPrefix('!', ref argPos) || message.HasMentionPrefix(client.CurrentUser, ref argPos))) return;
          // Create a Command Context
          var context = new CommandContext(client, message);
          // Execute the command. (result does not indicate a return value, 
          // rather an object stating if the command executed successfully)
          var result = await commands.ExecuteAsync(context, argPos, services);
          if (!result.IsSuccess)
              await context.Channel.SendMessageAsync(result.ErrorReason);
      }
    }
  }
  </code></pre>
  
  <p>And then for the MyBot.cs class</p>
  
  <pre><code>namespace DiscordBot
  {
    class MyBot : ModuleBase
    {
  
      private CommandService _service;
  
      public MyBot(CommandService service)
      {
          _service = service;
      }
    }
  }
  </code></pre>