cs-codex-dist-tests/Tools/BiblioTech/Program.cs

56 lines
1.6 KiB
C#
Raw Normal View History

2023-10-18 09:01:24 +00:00
using ArgsUniform;
using Discord;
2023-10-18 11:48:15 +00:00
using Discord.Commands;
using Discord.Net;
2023-10-18 07:10:04 +00:00
using Discord.WebSocket;
2023-10-18 11:48:15 +00:00
using Newtonsoft.Json;
2023-10-18 07:10:04 +00:00
2023-10-18 09:01:24 +00:00
namespace BiblioTech
2023-10-18 06:57:59 +00:00
{
2023-10-18 09:01:24 +00:00
public class Program
{
private DiscordSocketClient client = null!;
2023-10-18 07:10:04 +00:00
2023-10-18 09:01:24 +00:00
public static Configuration Config { get; private set; } = null!;
2023-10-18 11:48:15 +00:00
public static DeploymentFilesMonitor DeploymentFilesMonitor { get; } = new DeploymentFilesMonitor();
2023-10-18 07:10:04 +00:00
2023-10-18 09:01:24 +00:00
public static Task Main(string[] args)
{
var uniformArgs = new ArgsUniform<Configuration>(PrintHelp, args);
2023-10-18 09:21:06 +00:00
Config = uniformArgs.Parse();
2023-10-18 07:10:04 +00:00
2023-10-18 09:01:24 +00:00
return new Program().MainAsync();
}
2023-10-18 06:57:59 +00:00
2023-10-18 09:01:24 +00:00
public async Task MainAsync()
{
Console.WriteLine("Starting Codex Discord Bot...");
client = new DiscordSocketClient();
client.Log += Log;
2023-10-18 11:48:15 +00:00
var helloWorld = new HelloWorldCommand(client);
//var cmdService = new CommandService();
//var handler = new CommandHandler(client, cmdService);
//await handler.InstallCommandsAsync();
//Console.WriteLine("Command handler installed...");
2023-10-18 09:01:24 +00:00
2023-10-18 11:48:15 +00:00
await client.LoginAsync(TokenType.Bot, Config.ApplicationToken);
2023-10-18 09:01:24 +00:00
await client.StartAsync();
Console.WriteLine("Running...");
await Task.Delay(-1);
}
private static void PrintHelp()
{
Console.WriteLine("BiblioTech - Codex Discord Bot");
}
private Task Log(LogMessage msg)
{
Console.WriteLine(msg.ToString());
return Task.CompletedTask;
}
2023-10-18 06:57:59 +00:00
}
2023-10-18 09:01:24 +00:00
}