mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-02-14 15:53:30 -07:00
Use var
This commit is contained in:
parent
34afce2a66
commit
fb3b14f1ce
|
|
@ -17,11 +17,11 @@ namespace DiscordChatExporter
|
||||||
{
|
{
|
||||||
// Parse the arguments
|
// Parse the arguments
|
||||||
var argsDic = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
var argsDic = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||||
foreach (string arg in args)
|
foreach (var arg in args)
|
||||||
{
|
{
|
||||||
var match = Regex.Match(arg, "/(.*?):\"?(.*?)\"?$");
|
var match = Regex.Match(arg, "/(.*?):\"?(.*?)\"?$");
|
||||||
string key = match.Groups[1].Value;
|
var key = match.Groups[1].Value;
|
||||||
string value = match.Groups[2].Value;
|
var value = match.Groups[2].Value;
|
||||||
|
|
||||||
if (key.IsBlank())
|
if (key.IsBlank())
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -30,8 +30,8 @@ namespace DiscordChatExporter
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extract required arguments
|
// Extract required arguments
|
||||||
string token = argsDic.GetOrDefault("token");
|
var token = argsDic.GetOrDefault("token");
|
||||||
string channelId = argsDic.GetOrDefault("channelId");
|
var channelId = argsDic.GetOrDefault("channelId");
|
||||||
|
|
||||||
// Verify arguments
|
// Verify arguments
|
||||||
if (token.IsBlank() || channelId.IsBlank())
|
if (token.IsBlank() || channelId.IsBlank())
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,10 @@ namespace DiscordChatExporter.Services
|
||||||
foreach (var messageJson in messagesJson)
|
foreach (var messageJson in messagesJson)
|
||||||
{
|
{
|
||||||
// Get basic data
|
// Get basic data
|
||||||
string id = messageJson.Value<string>("id");
|
var id = messageJson.Value<string>("id");
|
||||||
var timeStamp = messageJson.Value<DateTime>("timestamp");
|
var timeStamp = messageJson.Value<DateTime>("timestamp");
|
||||||
var editedTimeStamp = messageJson.Value<DateTime?>("edited_timestamp");
|
var editedTimeStamp = messageJson.Value<DateTime?>("edited_timestamp");
|
||||||
string content = messageJson.Value<string>("content");
|
var content = messageJson.Value<string>("content");
|
||||||
|
|
||||||
// Lazy workaround for calls
|
// Lazy workaround for calls
|
||||||
if (messageJson["call"] != null)
|
if (messageJson["call"] != null)
|
||||||
|
|
@ -30,19 +30,19 @@ namespace DiscordChatExporter.Services
|
||||||
|
|
||||||
// Get author
|
// Get author
|
||||||
var authorJson = messageJson["author"];
|
var authorJson = messageJson["author"];
|
||||||
string authorId = authorJson.Value<string>("id");
|
var authorId = authorJson.Value<string>("id");
|
||||||
string authorName = authorJson.Value<string>("username");
|
var authorName = authorJson.Value<string>("username");
|
||||||
string authorAvatarHash = authorJson.Value<string>("avatar");
|
var authorAvatarHash = authorJson.Value<string>("avatar");
|
||||||
|
|
||||||
// Get attachment
|
// Get attachment
|
||||||
var attachmentsJson = messageJson["attachments"];
|
var attachmentsJson = messageJson["attachments"];
|
||||||
var attachments = new List<Attachment>();
|
var attachments = new List<Attachment>();
|
||||||
foreach (var attachmentJson in attachmentsJson)
|
foreach (var attachmentJson in attachmentsJson)
|
||||||
{
|
{
|
||||||
string attachmentId = attachmentJson.Value<string>("id");
|
var attachmentId = attachmentJson.Value<string>("id");
|
||||||
string attachmentUrl = attachmentJson.Value<string>("url");
|
var attachmentUrl = attachmentJson.Value<string>("url");
|
||||||
string attachmentFileName = attachmentJson.Value<string>("filename");
|
var attachmentFileName = attachmentJson.Value<string>("filename");
|
||||||
bool attachmentIsImage = attachmentJson["width"] != null;
|
var attachmentIsImage = attachmentJson["width"] != null;
|
||||||
|
|
||||||
var attachment = new Attachment(attachmentId, attachmentUrl, attachmentFileName, attachmentIsImage);
|
var attachment = new Attachment(attachmentId, attachmentUrl, attachmentFileName, attachmentIsImage);
|
||||||
attachments.Add(attachment);
|
attachments.Add(attachment);
|
||||||
|
|
@ -65,12 +65,12 @@ namespace DiscordChatExporter.Services
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
// Form request url
|
// Form request url
|
||||||
string url = $"{ApiRoot}/channels/{channelId}/messages?token={token}&limit=100";
|
var url = $"{ApiRoot}/channels/{channelId}/messages?token={token}&limit=100";
|
||||||
if (beforeId.IsNotBlank())
|
if (beforeId.IsNotBlank())
|
||||||
url += $"&before={beforeId}";
|
url += $"&before={beforeId}";
|
||||||
|
|
||||||
// Get response
|
// Get response
|
||||||
string response = await _httpClient.GetStringAsync(url);
|
var response = await _httpClient.GetStringAsync(url);
|
||||||
|
|
||||||
// Parse
|
// Parse
|
||||||
var messages = ParseMessages(response);
|
var messages = ParseMessages(response);
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ namespace DiscordChatExporter.Services
|
||||||
{
|
{
|
||||||
private HtmlDocument GetTemplate()
|
private HtmlDocument GetTemplate()
|
||||||
{
|
{
|
||||||
string resourcePath = "DiscordChatExporter.Resources.HtmlExportService.Template.html";
|
var resourcePath = "DiscordChatExporter.Resources.HtmlExportService.Template.html";
|
||||||
|
|
||||||
var assembly = Assembly.GetExecutingAssembly();
|
var assembly = Assembly.GetExecutingAssembly();
|
||||||
var stream = assembly.GetManifestResourceStream(resourcePath);
|
var stream = assembly.GetManifestResourceStream(resourcePath);
|
||||||
|
|
@ -31,7 +31,7 @@ namespace DiscordChatExporter.Services
|
||||||
|
|
||||||
private string GetStyle(Theme theme)
|
private string GetStyle(Theme theme)
|
||||||
{
|
{
|
||||||
string resourcePath = $"DiscordChatExporter.Resources.HtmlExportService.{theme}Theme.css";
|
var resourcePath = $"DiscordChatExporter.Resources.HtmlExportService.{theme}Theme.css";
|
||||||
|
|
||||||
var assembly = Assembly.GetExecutingAssembly();
|
var assembly = Assembly.GetExecutingAssembly();
|
||||||
var stream = assembly.GetManifestResourceStream(resourcePath);
|
var stream = assembly.GetManifestResourceStream(resourcePath);
|
||||||
|
|
@ -56,7 +56,7 @@ namespace DiscordChatExporter.Services
|
||||||
var groupFirst = groupBuffer.FirstOrDefault();
|
var groupFirst = groupBuffer.FirstOrDefault();
|
||||||
|
|
||||||
// Group break condition
|
// Group break condition
|
||||||
bool breakCondition =
|
var breakCondition =
|
||||||
groupFirst != null &&
|
groupFirst != null &&
|
||||||
(
|
(
|
||||||
message.Author.Id != groupFirst.Author.Id ||
|
message.Author.Id != groupFirst.Author.Id ||
|
||||||
|
|
@ -125,7 +125,7 @@ namespace DiscordChatExporter.Services
|
||||||
public void Export(string filePath, ChatLog chatLog, Theme theme)
|
public void Export(string filePath, ChatLog chatLog, Theme theme)
|
||||||
{
|
{
|
||||||
var doc = GetTemplate();
|
var doc = GetTemplate();
|
||||||
string style = GetStyle(theme);
|
var style = GetStyle(theme);
|
||||||
|
|
||||||
// Set theme
|
// Set theme
|
||||||
var themeHtml = doc.GetElementbyId("theme");
|
var themeHtml = doc.GetElementbyId("theme");
|
||||||
|
|
@ -134,7 +134,7 @@ namespace DiscordChatExporter.Services
|
||||||
// Info
|
// Info
|
||||||
var infoHtml = doc.GetElementbyId("info");
|
var infoHtml = doc.GetElementbyId("info");
|
||||||
infoHtml.AppendChild(HtmlNode.CreateNode($"<div>Channel ID: <b>{chatLog.ChannelId}</b></div>"));
|
infoHtml.AppendChild(HtmlNode.CreateNode($"<div>Channel ID: <b>{chatLog.ChannelId}</b></div>"));
|
||||||
string participants = HtmlDocument.HtmlEncode(chatLog.Participants.Select(u => u.Name).JoinToString(", "));
|
var participants = HtmlDocument.HtmlEncode(chatLog.Participants.Select(u => u.Name).JoinToString(", "));
|
||||||
infoHtml.AppendChild(HtmlNode.CreateNode($"<div>Participants: <b>{participants}</b></div>"));
|
infoHtml.AppendChild(HtmlNode.CreateNode($"<div>Participants: <b>{participants}</b></div>"));
|
||||||
infoHtml.AppendChild(HtmlNode.CreateNode($"<div>Messages: <b>{chatLog.Messages.Count:N0}</b></div>"));
|
infoHtml.AppendChild(HtmlNode.CreateNode($"<div>Messages: <b>{chatLog.Messages.Count:N0}</b></div>"));
|
||||||
|
|
||||||
|
|
@ -155,11 +155,11 @@ namespace DiscordChatExporter.Services
|
||||||
var messageBodyHtml = messageHtml.AppendChild(HtmlNode.CreateNode("<div class=\"msg-body\"></div>"));
|
var messageBodyHtml = messageHtml.AppendChild(HtmlNode.CreateNode("<div class=\"msg-body\"></div>"));
|
||||||
|
|
||||||
// Author
|
// Author
|
||||||
string authorName = HtmlDocument.HtmlEncode(messageGroup.Author.Name);
|
var authorName = HtmlDocument.HtmlEncode(messageGroup.Author.Name);
|
||||||
messageBodyHtml.AppendChild(HtmlNode.CreateNode($"<span class=\"msg-user\">{authorName}</span>"));
|
messageBodyHtml.AppendChild(HtmlNode.CreateNode($"<span class=\"msg-user\">{authorName}</span>"));
|
||||||
|
|
||||||
// Date
|
// Date
|
||||||
string timeStamp = HtmlDocument.HtmlEncode(messageGroup.FirstTimeStamp.ToString("g"));
|
var timeStamp = HtmlDocument.HtmlEncode(messageGroup.FirstTimeStamp.ToString("g"));
|
||||||
messageBodyHtml.AppendChild(HtmlNode.CreateNode($"<span class=\"msg-date\">{timeStamp}</span>"));
|
messageBodyHtml.AppendChild(HtmlNode.CreateNode($"<span class=\"msg-date\">{timeStamp}</span>"));
|
||||||
|
|
||||||
// Individual messages
|
// Individual messages
|
||||||
|
|
@ -168,7 +168,7 @@ namespace DiscordChatExporter.Services
|
||||||
// Content
|
// Content
|
||||||
if (message.Content.IsNotBlank())
|
if (message.Content.IsNotBlank())
|
||||||
{
|
{
|
||||||
string content = FormatMessageContent(message.Content);
|
var content = FormatMessageContent(message.Content);
|
||||||
var contentHtml =
|
var contentHtml =
|
||||||
messageBodyHtml.AppendChild(
|
messageBodyHtml.AppendChild(
|
||||||
HtmlNode.CreateNode($"<div class=\"msg-content\">{content}</div>"));
|
HtmlNode.CreateNode($"<div class=\"msg-content\">{content}</div>"));
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue