Files
TorchRemote/TorchRemote.Plugin/Managers/ChatMonitorManager.cs
2022-07-21 21:57:27 +07:00

29 lines
967 B
C#

using Sandbox.Engine.Multiplayer;
using Torch.API;
using Torch.API.Managers;
using Torch.Managers;
using TorchRemote.Models.Responses;
using TorchRemote.Models.Shared;
using TorchRemote.Plugin.Utils;
namespace TorchRemote.Plugin.Managers;
public class ChatMonitorManager : Manager
{
[Dependency]
private readonly IChatManagerServer _chatManager = null!;
public ChatMonitorManager(ITorchBase torchInstance) : base(torchInstance)
{
}
public override void Attach()
{
base.Attach();
_chatManager.MessageRecieved += ChatManagerOnMessageReceived;
}
private void ChatManagerOnMessageReceived(TorchChatMessage msg, ref bool consumed)
{
Statics.ChatModule.SendChatResponse(new ChatMessageResponse(msg.Author ?? (msg.AuthorSteamId is null ? Torch.Config.ChatName : MyMultiplayer.Static.GetMemberName(msg.AuthorSteamId.Value)),
msg.AuthorSteamId, (ChatChannel)msg.Channel, msg.Message));
}
}