Beispiel #1
0
 /// <summary>
 /// Starts the bot asynchronously.
 /// </summary>
 public async Task Start()
 {
     Console.WriteLine("Fetching meta repositories...");
     if (Directory.Exists("git"))
     {
         FileHelper.NormalizeAttributes("git");
         Directory.Delete("git", true);
     }
     Meta     = new MetaHandler(Settings.Meta);
     Commands = new Dictionary <string, Func <BotCommand, Task> >();
     Directory.CreateDirectory(PluginsFolder);
     Console.WriteLine("Loading plugins.");
     Plugins = new PluginLoader <IBotPlugin>();
     foreach (IBotPlugin plugin in Plugins.Load(PluginsFolder))
     {
         plugin.Load(this);
     }
     Console.WriteLine("Reloading meta.");
     Meta.Reload();
     if (Settings.Chat.Discord.Enabled)
     {
         DiscordConnection = new DiscordConnection();
         DiscordConnection.Configure(this, Settings.Chat.Discord);
         Connections.Add(DiscordConnection);
         Console.WriteLine("Beginning asynchronous Discord connection.");
         _ = DiscordConnection.ConnectAsync();
     }
     Console.WriteLine("Setting up command system.");
     RegisterCommands(typeof(Bot).Assembly);
     Console.WriteLine("Successful startup.");
     await Task.Delay(-1);
 }
Beispiel #2
0
        static void Main(string[] args)
        {
            Task.Run(async() =>
            {
                var client = new DiscordConnection();

                await client.ConnectAsync("...");
            });

            while (true)
            {
                if (Console.ReadKey().Key == ConsoleKey.Escape)
                {
                    break;
                }
            }
        }