SupportChild/Transcriber.cs

53 lines
1.4 KiB
C#
Raw Normal View History

2022-04-18 10:52:03 +00:00
using System.IO;
2022-02-21 08:40:09 +00:00
using System.Threading.Tasks;
using DiscordChatExporter.Core.Discord;
using DiscordChatExporter.Core.Discord.Data;
using DiscordChatExporter.Core.Exporting;
using DiscordChatExporter.Core.Exporting.Filtering;
using DiscordChatExporter.Core.Exporting.Partitioning;
2022-08-21 07:33:27 +00:00
namespace SupportChild;
internal static class Transcriber
2022-02-21 08:40:09 +00:00
{
2022-08-21 07:33:27 +00:00
internal static async Task ExecuteAsync(ulong channelID, uint ticketID)
{
DiscordClient discordClient = new DiscordClient(Config.token);
ChannelExporter exporter = new ChannelExporter(discordClient);
if (!Directory.Exists("./transcripts"))
{
Directory.CreateDirectory("./transcripts");
}
Channel channel = await discordClient.GetChannelAsync(new Snowflake(channelID));
Guild guild = await discordClient.GetGuildAsync(channel.GuildId);
ExportRequest request = new ExportRequest(
Guild: guild,
Channel: channel,
OutputPath: GetPath(ticketID),
Format: ExportFormat.HtmlDark,
After: null,
Before: null,
PartitionLimit: PartitionLimit.Null,
MessageFilter: MessageFilter.Null,
ShouldDownloadMedia: false,
ShouldReuseMedia: false,
DateFormat: "yyyy-MMM-dd HH:mm"
);
await exporter.ExportChannelAsync(request);
}
internal static string GetPath(uint ticketNumber)
{
return "./transcripts/" + GetFilename(ticketNumber);
}
internal static string GetFilename(uint ticketNumber)
{
return "ticket-" + ticketNumber.ToString("00000") + ".html";
}
2022-05-17 13:11:57 +00:00
}