- 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:
parent
03636792e3
commit
6d57d209b0
90
Plugin.cs
90
Plugin.cs
@ -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
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user