Пример #1
0
        public DatabaseManager(ModerationPlugin pluginInstance)
        {
            this.pluginInstance = pluginInstance;

            if (Connection == null)
            {
                pluginInstance.UnloadPlugin(Rocket.API.PluginState.Failure);
            }

            try
            {
                InitializeTables();
            } catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Пример #2
0
        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");
            }
        }
Пример #3
0
 public DiscordMessager(ModerationPlugin pluginInstance)
 {
     this.pluginInstance = pluginInstance;
 }