Update syncshell chat.
All checks were successful
Build and Update Repo / build-and-update-repo (push) Successful in 1m12s

Update /ss to /ps
Remove whitespaces from sending in syncshell chat.
This commit is contained in:
2025-09-21 17:39:40 +01:00
parent 60c1668492
commit 51004f3017
5 changed files with 45 additions and 21 deletions

View File

@@ -72,7 +72,7 @@ public class ChatService : DisposableMediatorSubscriberBase
{
var chatMsg = message.ChatMsg;
var prefix = new SeStringBuilder();
prefix.AddText("[BnnuyChat] ");
prefix.AddText("[PenguinChat] ");
_chatGui.Print(new XivChatEntry{
MessageBytes = [..prefix.Build().Encode(), ..message.ChatMsg.PayloadContent],
Name = chatMsg.SenderName,
@@ -121,7 +121,7 @@ public class ChatService : DisposableMediatorSubscriberBase
}
if (color != 0)
msg.AddUiForeground((ushort)color);
msg.AddText($"[SS{shellNumber}]<");
msg.AddText($"[PS{shellNumber}]<");
if (message.ChatMsg.Sender.UID.Equals(_apiController.UID, StringComparison.Ordinal))
{
// Don't link to your own character
@@ -179,7 +179,7 @@ public class ChatService : DisposableMediatorSubscriberBase
if (_gameChatHooks.IsValueCreated && _gameChatHooks.Value.ChatChannelOverride != null)
{
// Very dumb and won't handle re-numbering -- need to identify the active chat channel more reliably later
if (_gameChatHooks.Value.ChatChannelOverride.ChannelName.StartsWith($"SS [{shellNumber}]", StringComparison.Ordinal))
if (_gameChatHooks.Value.ChatChannelOverride.ChannelName.StartsWith($"PS [{shellNumber}]", StringComparison.Ordinal))
SwitchChatShell(shellNumber);
}
}
@@ -200,7 +200,7 @@ public class ChatService : DisposableMediatorSubscriberBase
// BUG: This doesn't always update the chat window e.g. when renaming a group
_gameChatHooks.Value.ChatChannelOverride = new()
{
ChannelName = $"SS [{shellNumber}]: {name}",
ChannelName = $"PS [{shellNumber}]: {name}",
ChatMessageHandler = chatBytes => SendChatShell(shellNumber, chatBytes)
};
return;

View File

@@ -1,5 +1,6 @@
using Dalamud.Game.Command;
using Dalamud.Plugin.Services;
using Dalamud.Utility;
using MareSynchronos.FileCache;
using MareSynchronos.MareConfiguration;
using MareSynchronos.MareConfiguration.Models;
@@ -17,7 +18,7 @@ public sealed class CommandManagerService : IDisposable
private const string _commandName = "/sync";
private const string _commandName2 = "/clubpenguin";
private const string _ssCommandPrefix = "/ss";
private const string _psCommandPrefix = "/ps";
private readonly ApiController _apiController;
private readonly ICommandManager _commandManager;
@@ -52,7 +53,7 @@ public sealed class CommandManagerService : IDisposable
// Lazy registration of all possible /ss# commands which tbf is what the game does for linkshells anyway
for (int i = 1; i <= ChatService.CommandMaxNumber; ++i)
{
_commandManager.AddHandler($"{_ssCommandPrefix}{i}", new CommandInfo(OnChatCommand)
_commandManager.AddHandler($"{_psCommandPrefix}{i}", new CommandInfo(OnChatCommand)
{
ShowInHelp = false
});
@@ -65,7 +66,7 @@ public sealed class CommandManagerService : IDisposable
_commandManager.RemoveHandler(_commandName2);
for (int i = 1; i <= ChatService.CommandMaxNumber; ++i)
_commandManager.RemoveHandler($"{_ssCommandPrefix}{i}");
_commandManager.RemoveHandler($"{_psCommandPrefix}{i}");
}
private void OnCommand(string command, string args)
@@ -139,9 +140,9 @@ public sealed class CommandManagerService : IDisposable
if (_mareConfigService.Current.DisableSyncshellChat)
return;
int shellNumber = int.Parse(command[_ssCommandPrefix.Length..]);
int shellNumber = int.Parse(command[_psCommandPrefix.Length..]);
if (args.Length == 0)
if (args.Length == 0 || args.IsNullOrWhitespace())
{
_chatService.SwitchChatShell(shellNumber);
}