Toastie
66d67257be
All checks were successful
Toastie-stuff/SupportChild/pipeline/head This commit looks good
74 lines
No EOL
2.3 KiB
C#
74 lines
No EOL
2.3 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using DSharpPlus.Entities;
|
|
using DSharpPlus.Exceptions;
|
|
|
|
namespace SupportChild;
|
|
|
|
public static class LogChannel
|
|
{
|
|
public static bool IsEnabled => Config.logChannel != 0;
|
|
|
|
public static async Task Log(string message, uint ticketID = 0, Utilities.File file = null)
|
|
{
|
|
await Log(DiscordColor.Cyan, message, ticketID, file);
|
|
}
|
|
|
|
public static async Task Success(string message, uint ticketID = 0, Utilities.File file = null)
|
|
{
|
|
await Log(DiscordColor.Green, message, ticketID, file);
|
|
}
|
|
|
|
public static async Task Warn(string message, uint ticketID = 0, Utilities.File file = null)
|
|
{
|
|
await Log(DiscordColor.Orange, message, ticketID, file);
|
|
}
|
|
|
|
public static async Task Error(string message, uint ticketID = 0, Utilities.File file = null)
|
|
{
|
|
await Log(DiscordColor.Red, message, ticketID, file);
|
|
}
|
|
|
|
private static async Task Log(DiscordColor color, string message, uint ticketID = 0, Utilities.File file = null)
|
|
{
|
|
if (!IsEnabled)
|
|
{
|
|
return;
|
|
}
|
|
|
|
try
|
|
{
|
|
DiscordEmbedBuilder embedBuilder = new()
|
|
{
|
|
Color = color,
|
|
Description = message
|
|
};
|
|
if (ticketID != 0)
|
|
{
|
|
embedBuilder.WithFooter("Ticket: " + ticketID.ToString("00000"));
|
|
}
|
|
|
|
DiscordMessageBuilder messageBuilder = new();
|
|
messageBuilder.AddEmbed(embedBuilder);
|
|
if (file != null)
|
|
{
|
|
messageBuilder.AddFile(file.fileName, file.contents);
|
|
}
|
|
|
|
DiscordChannel logChannel = await SupportChild.client.GetChannelAsync(Config.logChannel);
|
|
await logChannel.SendMessageAsync(messageBuilder);
|
|
}
|
|
catch (NotFoundException)
|
|
{
|
|
Logger.Error("Log channel does not exist. Channel ID: " + Config.logChannel);
|
|
}
|
|
catch (UnauthorizedException)
|
|
{
|
|
Logger.Error("No permissions to send message in log channel. Channel ID: " + Config.logChannel);
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Logger.Error("Error occured trying to send message in log channel. Channel ID: " + Config.logChannel, e);
|
|
}
|
|
}
|
|
} |