public DatabaseManager(ModerationPlugin pluginInstance) { this.pluginInstance = pluginInstance; if (Connection == null) { pluginInstance.UnloadPlugin(Rocket.API.PluginState.Failure); } try { InitializeTables(); } catch (Exception e) { Console.WriteLine(e); } }
private void ProcessBan(IRocketPlayer caller, Ban ban, string playerIP, string punisherIP) { try { ModerationPlugin instance = ModerationPlugin.Instance; ban.Player = instance.DatabaseManager.GetPlayer(ban.PlayerId); ban.Punisher = instance.DatabaseManager.GetPlayer(ban.PunisherId); if (ban.Player == null) { ban.Player = instance.DatabaseManager.CreatePlayer(new Player(ban.PlayerId, punisherIP)); } if (ban.Punisher == null) { ban.Punisher = instance.DatabaseManager.CreatePlayer(new Player(ban.PunisherId, caller.DisplayName, punisherIP)); } instance.DatabaseManager.InsertBan(ban); string prettyDuration = ban.BanDuration.ToPrettyTime(); string reason = ban.BanReason.ToReason(); TaskDispatcher.QueueOnMainThread(() => { UnturnedChat.Say(instance.Translate("BanAnnouncement", ban.Player.PlayerName, ban.Punisher.PlayerName, reason, prettyDuration)); SDG.Unturned.Provider.kick(new CSteamID(ban.PlayerId), instance.Translate("BanMessage", reason, prettyDuration)); }); instance.DiscordMessager.SendMessage(new string[] { ban.Player.PlayerName, ban.PlayerId.ToString(), ban.Punisher.PlayerName, reason, prettyDuration }, EMessageType.Ban); } catch (System.Exception e) { Logger.LogException(e, "An error occurated when processing ban"); } }
public DiscordMessager(ModerationPlugin pluginInstance) { this.pluginInstance = pluginInstance; }