29 lines
967 B
C#
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));
|
|
}
|
|
}
|