- fix plugin not logging information when starting

- fix interaction profile buttons not working
- update remaining functions to pluginV2
- fix guest tag not being removed upon disconnecting from a donator server
This commit is contained in:
INSANEMODE 2023-04-19 00:26:15 -05:00
parent 03636792e3
commit 6d57d209b0

View File

@ -29,8 +29,6 @@ namespace ClanTagRankCommands
public class Plugin : IPluginV2
{
//private const string ProfanityKey = "_profanityInfringements";
//private readonly IConfigurationHandler<ClanTagConfiguration> _configurationHandler;
private readonly ILogger _logger;
//private ClanTagConfiguration Config;
//readonly string rank = "rank";
@ -60,13 +58,25 @@ namespace ClanTagRankCommands
{
IManagementEventSubscriptions.Load += OnLoad;
IManagementEventSubscriptions.Unload += OnUnloadAsync;
IGameEventSubscriptions.ScriptEventTriggered += OnScriptEvent;
_remoteCommandService = remoteCommandService;
_logger = logger;
_metaService = metaService;
//_configurationHandler = (IConfigurationHandler<ClanTagConfiguration>)configurationHandlerFactory.GetConfigurationHandler<ClanTagConfiguration>("ClanTagRankCommands");
_interactionRegistration = interactionRegistration;
DataManager = new DataManager(metaService, logger);
IManagementEventSubscriptions.ClientStateDisposed += async (clientEvent, token) =>
{
if ((clientEvent.Client.CurrentServer.Hostname.Contains("Donator") || clientEvent.Client.CurrentServer.Hostname.Contains("Test")) && clientEvent.Client.Tag == "Guest")
{
Console.WriteLine("Guest disconnected, removing guest tag.");
_logger.LogInformation("Guest disconnected, removing guest tag.");
clientEvent.Client.Tag = null;
await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, clientEvent.Client.ClientId,
token);
}
};
}
public static void RegisterDependencies(IServiceCollection serviceCollection)
{
@ -75,12 +85,7 @@ namespace ClanTagRankCommands
}
private Task OnLoad(IManager manager, CancellationToken token)
{
//if (_configurationHandler.Configuration() == null)
//{
// _configurationHandler.Set((ClanTagConfiguration)new ClanTagConfiguration().Generate());
// _configurationHandler.Save();
//}
//Config = _configurationHandler.Configuration();
string version = manager.Version;
string str = string.Format("Loaded {0} ({1}) by {2} in {3} ({4})!", (object)((IPluginV2)this).Name, (object)((IPluginV2)this).Version, (object)((IPluginV2)this).Author, (object)"IW4MAdmin", (object)version);
_logger.LogInformation(str);
@ -236,7 +241,7 @@ namespace ClanTagRankCommands
SharedLibraryCore.Database.Models.EFClient efClient = (SharedLibraryCore.Database.Models.EFClient)null;
string rule = ScriptBan.Owner.Manager.GetApplicationSettings().Configuration().GlobalRules.Where(rule => rule.Contains("hate")).FirstOrDefault().ToString();
efClient = ScriptBan.Owner.GetClientsAsList().First<SharedLibraryCore.Database.Models.EFClient>((Func<SharedLibraryCore.Database.Models.EFClient, bool>)(_client => _client.NetworkId == ScriptBan.Target.NetworkId));
efClient.Ban($"Profanity filter Racism match - {rule}", sender, false);
efClient.Ban($"Profanity filter Racism match - -{rule}", sender, false);
//ScriptBan.Owner.Ban("Blatent racism match", ScriptBan.Target., sender);
@ -250,32 +255,56 @@ namespace ClanTagRankCommands
return Task.CompletedTask;
}
//public async Task OnDisconnect(GameEvent E, Server S)// => Task.CompletedTask;
//{
// if (E.Type == GameEventV2.EventType.Disconnect && (S.Hostname.Contains("Donator") || S.Hostname.Contains("Test")) && E.Origin.Tag == "Guest")
// {
// Console.WriteLine("Guest disconnected, removing guest tag.");
// _logger.LogInformation("Guest disconnected, removing guest tag.");
// E.Origin.Tag = null;
// await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Origin.ClientId,
// E.Owner.Manager.CancellationToken);
// }
// else if (E.Type == GameEventV2.EventType.Other && (S.Hostname.Contains("Donator") || S.Hostname.Contains("Test")) && E.Origin.Tag == "Guest")
// {
// Console.WriteLine("Guest triggered event of type Other, removing guest tag.");
// _logger.LogInformation("Guest triggered event of type Other, removing guest tag.");
// E.Origin.Tag = null;
// await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Origin.ClientId,
// E.Owner.Manager.CancellationToken);
// }
public async Task OnEventAsync(GameEvent E, Server S)// => Task.CompletedTask;
{
if (E.Type == GameEvent.EventType.Disconnect && (S.Hostname.Contains("Donator") || S.Hostname.Contains("Test")) && E.Origin.Tag == "Guest")
{
E.Origin.Tag = null;
await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Origin.ClientId,
E.Owner.Manager.CancellationToken);
}
else if (E.Type == GameEvent.EventType.Other && (S.Hostname.Contains("Donator") || S.Hostname.Contains("Test")) && E.Origin.Tag == "Guest")
{
E.Origin.Tag = null;
await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Origin.ClientId,
E.Owner.Manager.CancellationToken);
}
//}
//public async Task OnEventAsync(GameEventV2 E, Server S)// => Task.CompletedTask;
//{
// if (E.Type == GameEventV2.EventType.Disconnect && (S.Hostname.Contains("Donator") || S.Hostname.Contains("Test")) && E.Origin.Tag == "Guest")
// {
// Console.WriteLine("Guest disconnected, removing guest tag.");
// _logger.LogInformation("Guest disconnected, removing guest tag.");
// E.Origin.Tag = null;
// await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Origin.ClientId,
// E.Owner.Manager.CancellationToken);
// }
// else if (E.Type == GameEventV2.EventType.Other && (S.Hostname.Contains("Donator") || S.Hostname.Contains("Test")) && E.Origin.Tag == "Guest")
// {
// Console.WriteLine("Guest triggered event of type Other, removing guest tag.");
// _logger.LogInformation("Guest triggered event of type Other, removing guest tag.");
// E.Origin.Tag = null;
// await _metaService.RemovePersistentMeta(EFMeta.ClientTagV2, E.Origin.ClientId,
// E.Owner.Manager.CancellationToken);
// }
}
public Task OnTickAsync(Server S)// =>
{
//}
//public Task OnTickAsync(Server S)// =>
//{
return Task.CompletedTask;
// return Task.CompletedTask;
}
//}
public Task OnUnloadAsync() //=>
private Task OnUnloadAsync(IManager manager, CancellationToken token) //=>
{
_interactionRegistration.UnregisterInteraction(DonatorInteraction);
@ -283,7 +312,6 @@ namespace ClanTagRankCommands
return Task.CompletedTask;
}
}
public static class yadb
{