improve mod news

This commit is contained in:
Gurge44 committed 2025-06-11 19:36:40 +02:00
1 parent 8b67410243
commit a1611406b5
4 files changed
+59 -16

No files matched your search

+2
View File
@@ -208,6 +208,7 @@ public static class Achievements
}; };
request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest(); yield return request.SendWebRequest();
Logger.Msg(request.result != UnityWebRequest.Result.Success ? $"Error saving achievements: {request.error}" : "Achievements saved successfully", "Achievements.SaveAllData"); Logger.Msg(request.result != UnityWebRequest.Result.Success ? $"Error saving achievements: {request.error}" : "Achievements saved successfully", "Achievements.SaveAllData");
@@ -234,6 +235,7 @@ public static class Achievements
var url = $"{ApiLoadEndpoint}?userId={userId}"; var url = $"{ApiLoadEndpoint}?userId={userId}";
UnityWebRequest request = UnityWebRequest.Get(url); UnityWebRequest request = UnityWebRequest.Get(url);
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest(); yield return request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
+2
View File
@@ -50,6 +50,7 @@ public static class LobbySharingAPI
}; };
request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest(); yield return request.SendWebRequest();
LastRequestTimeStamp = Utils.TimeStamp; LastRequestTimeStamp = Utils.TimeStamp;
@@ -111,6 +112,7 @@ public static class LobbySharingAPI
}; };
request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Content-Type", "application/json");
request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest(); yield return request.SendWebRequest();
LastRequestTimeStamp = Utils.TimeStamp; LastRequestTimeStamp = Utils.TimeStamp;
+11 -7
View File
@@ -16,13 +16,16 @@ namespace EHR;
public class ModNews public class ModNews
{ {
// ReSharper disable UnassignedField.Global // ReSharper disable UnassignedField.Global
public int Number; // ReSharper disable UnusedAutoPropertyAccessor.Global
public string Date; public int Number { get; set; }
public string Title; public string Date { get; set; }
public string SubTitle; public string Title { get; set; }
public string ShortTitle; public string SubTitle { get; set; }
public string Text; public string ShortTitle { get; set; }
public string Text { get; set; }
// ReSharper restore UnassignedField.Global // ReSharper restore UnassignedField.Global
// ReSharper restore UnusedAutoPropertyAccessor.Global
public Announcement ToAnnouncement() public Announcement ToAnnouncement()
{ {
@@ -52,7 +55,7 @@ public static class ModNewsFetcher
public static IEnumerator FetchNews() public static IEnumerator FetchNews()
{ {
UnityWebRequest request = UnityWebRequest.Get(NewsUrl); UnityWebRequest request = UnityWebRequest.Get(NewsUrl);
request.SetRequestHeader("User-Agent", "EndlessHostRoles-Mod"); request.SetRequestHeader("User-Agent", $"{Main.ModName} v{Main.PluginVersion}");
yield return request.SendWebRequest(); yield return request.SendWebRequest();
@@ -66,6 +69,7 @@ public static class ModNewsFetcher
{ {
List<ModNews> newsList = ModNews.FromJson(request.downloadHandler.text); List<ModNews> newsList = ModNews.FromJson(request.downloadHandler.text);
ModNewsHistory.AllModNews = newsList.OrderByDescending(n => DateTime.Parse(n.Date)).ToList(); ModNewsHistory.AllModNews = newsList.OrderByDescending(n => DateTime.Parse(n.Date)).ToList();
Logger.Info($"Successfully fetched {ModNewsHistory.AllModNews.Count} mod news items.", "ModNewsFetcher");
} }
catch (Exception ex) { Utils.ThrowException(ex); } catch (Exception ex) { Utils.ThrowException(ex); }
} }
+44 -9
View File
@@ -1,4 +1,6 @@
import os import os
import re
from datetime import datetime
import markdown import markdown
import requests import requests
@@ -19,32 +21,65 @@ def fetch_latest_release():
for i, release in enumerate(releases): for i, release in enumerate(releases):
tag = release["tag_name"] tag = release["tag_name"]
title = f"Endless Host Roles {tag}" title = f"Endless Host Roles {tag}"
subtitle = f"★★★★Release {tag}★★★★" subtitle = f"Update if you haven't already!"
short_title = f"★EHR {tag}" short_title = f"∞ EHR {tag}"
date = release["published_at"] date = release["published_at"]
body_md = release["body"] body_md = release["body"]
body_html = markdown.markdown(body_md) body_html = markdown.markdown(body_md)
body_html = ( body_html = (
body_html body_html
.replace("</p>", "</p>\n") .replace("&gt;", ">")
.replace("<li>", " - ") .replace("&amp;", "&")
.replace("<code>", "<mark=#00000033>")
.replace("</code>", "</mark>")
.replace("[!CAUTION]", "<b><u>CAUTION!</u></b>\n")
.replace("[!WARNING]", "<b><u>WARNING!</u></b>\n")
.replace("[!IMPORTANT]", "<b><u>IMPORTANT:</u></b>\n")
.replace("[!NOTE]", "<b><u>Note:</u></b>\n")
.replace("[!TIP]", "<b><u>Tip:</u></b>\n")
.replace("<blockquote>", "\n<size=70%>")
.replace("</blockquote>", "</size>\n")
.replace("<em>", "<i>")
.replace("</em>", "</i>")
.replace("<p>", "\n")
.replace("</p>", "\n")
.replace("<li>", " - ")
.replace("</li>", "\n") .replace("</li>", "\n")
.replace("<ul>", "") .replace("<ul>", "")
.replace("</ul>", "") .replace("</ul>", "")
.replace("<strong>", "<b>").replace("</strong>", "</b>") .replace("<strong>", "<b>")
.replace("</strong>", "</b>")
.replace("<hr />", "---------------------------------------------------------------------------")
.replace("<h6>", "<b>")
.replace("</h6>", "</b>")
.replace("<h5>", "<b>")
.replace("</h5>", "</b>")
.replace("<h4>", "<b>")
.replace("</h4>", "</b>")
.replace("<h3>", "\n<size=110%><b>")
.replace("</h3>", "</b></size>\n")
.replace("<h2>", "\n\n<size=125%><b>")
.replace("</h2>", "</b></size>\n\n")
.replace("<h1>", "\n\n<size=150%><b>")
.replace("</h1>", "</b></size>\n\n")
) )
body_html = re.sub(r'<a\s+href="[^"]*">(.*?)</a>', r'\1', body_html)
intro_line = f"<size=150%>Welcome to EHR {tag}.</size>\n" for _ in range(10):
subtitle_line = f"<size=125%>{subtitle}</size>\n\n" body_html = re.sub(r'\n\s*\n\s*\n+', '\n\n', body_html)
body_html = re.sub(r'^\s*-\s*$\n?', '', body_html, flags=re.MULTILINE)
dt = datetime.strptime(date, "%Y-%m-%dT%H:%M:%SZ")
formatted_date = dt.strftime("%Y-%m-%dT00:00:00Z")
mod_news = { mod_news = {
"Number": 100000 + i, "Number": 100000 + i,
"Title": title, "Title": title,
"SubTitle": subtitle, "SubTitle": subtitle,
"ShortTitle": short_title, "ShortTitle": short_title,
"Text": intro_line + subtitle_line + body_html, "Text": body_html,
"Date": date "Date": formatted_date
} }
mod_news_list.append(mod_news) mod_news_list.append(mod_news)