chaosbot/ChaosBot/Discord/Modules/InfoCommands.cs
2020-06-03 17:20:07 -04:00

54 lines
1.7 KiB
C#

using System;
using Discord;
using System.Text;
using Discord.Commands;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Data;
using ChaosBot.Controllers;
using Microsoft.Extensions.Configuration;
using NLog;
namespace ChaosBot.Discord.Modules
{
public class InfoCommands : ModuleBase
{
private static readonly Logger _logger = Program._logger;
[Command("info")]
[Alias("version")]
public async Task InfoCommand()
{
try
{
var sb = new StringBuilder();
var embed = new EmbedBuilder();
embed.WithColor(new Color(255, 255,0));
embed.Title = $"General Information";
sb.AppendLine($"{Context.User.Mention} has requested information from {Program.Cfg.GetValue<string>("Bot:Name")}.");
sb.AppendLine();
sb.AppendLine($"Bot Version: {Program.Cfg.GetValue<string>("Bot:Version")}");
sb.AppendLine($"Bot Prefix: {Program.Cfg.GetValue<string>("Discord:Prefix")}");
sb.AppendLine($"");
DataTable dr = DBWork.RawQuery("Show Create Table RaffleTable;");
/*
* Add the string to the Embed
*/
embed.Description = sb.ToString();
/*
* Reply with the Embed created above
*/
await ReplyAsync(null, false, embed.Build());
}
catch (Exception ex)
{
_logger.Error($"InfoCommands.InfoCommand: Exception [{ex}] thrown, <[{ex.Message}]>.");
}
}
}
}