Skip to content

Commit 62a2d58

Browse files
committed
migrate to new webhook impl
1 parent 261731b commit 62a2d58

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

Patches/OutroPatch.cs

+23-6
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using static TownOfHost.Translator;
1313
using TownOfHost.Modules.GameEventHistory;
1414
using TownOfHost.Modules.GameEventHistory.Events;
15+
using TownOfHost.Modules.Webhook;
1516

1617
namespace TownOfHost
1718
{
@@ -257,26 +258,42 @@ public static void Postfix(EndGameManager __instance)
257258
if (PlayerControl.LocalPlayer.PlayerId == 0)
258259
{
259260
if (CustomWinnerHolder.WinnerTeam == CustomWinner.Draw)
261+
{
260262
Logger.Info("廃村のため試合結果の送信をキャンセル", "Webhook");
263+
}
261264
else
262265
{
266+
var resultMessageBuilder = new WebhookMessageBuilder()
267+
{
268+
UserName = "試合結果",
269+
};
263270
if (Main.SendResultToDiscord.Value)
264271
{
265-
var resultMessage = "";
272+
resultMessageBuilder.ContentBuilder.AppendLine("### 各プレイヤーの最終結果");
266273
foreach (var id in Main.winnerList)
267274
{
268-
resultMessage += Utils.ColorIdToDiscordEmoji(Palette.PlayerColors.IndexOf(Main.PlayerColors[id]), !PlayerState.GetByPlayerId(id).IsDead) + ":star:" + EndGamePatch.SummaryText[id].RemoveHtmlTags() + "\n";
275+
resultMessageBuilder.ContentBuilder.Append(Utils.ColorIdToDiscordEmoji(Palette.PlayerColors.IndexOf(Main.PlayerColors[id]), !PlayerState.GetByPlayerId(id).IsDead));
276+
resultMessageBuilder.ContentBuilder.Append(":star:");
277+
resultMessageBuilder.ContentBuilder.Append(EndGamePatch.SummaryText[id].RemoveHtmlTags());
278+
resultMessageBuilder.ContentBuilder.AppendLine();
269279
}
270280
foreach (var id in cloneRoles)
271281
{
272-
resultMessage += Utils.ColorIdToDiscordEmoji(Palette.PlayerColors.IndexOf(Main.PlayerColors[id]), !PlayerState.GetByPlayerId(id).IsDead) + "\u3000" + EndGamePatch.SummaryText[id].RemoveHtmlTags() + "\n";
282+
resultMessageBuilder.ContentBuilder.Append(Utils.ColorIdToDiscordEmoji(Palette.PlayerColors.IndexOf(Main.PlayerColors[id]), !PlayerState.GetByPlayerId(id).IsDead));
283+
resultMessageBuilder.ContentBuilder.Append('\u3000');
284+
resultMessageBuilder.ContentBuilder.Append(EndGamePatch.SummaryText[id].RemoveHtmlTags());
285+
resultMessageBuilder.ContentBuilder.AppendLine();
273286
}
274-
Utils.SendWebhook(resultMessage, GetString("LastResult"));
275287
}
276288
if (Main.SendHistoryToDiscord.Value)
277289
{
278-
var historyMessage = EventHistory.CurrentInstance.ToDiscordString();
279-
Utils.SendWebhook(historyMessage, "ゲーム記録");
290+
resultMessageBuilder.ContentBuilder.AppendLine("### 記録");
291+
EventHistory.CurrentInstance.AppendDiscordString(resultMessageBuilder.ContentBuilder);
292+
}
293+
294+
if (resultMessageBuilder.ContentBuilder.Length > 0)
295+
{
296+
WebhookManager.Instance.StartSend(resultMessageBuilder);
280297
}
281298
}
282299
}

0 commit comments

Comments
 (0)