Иконка ресурса

FREE AntiSpamNames : 1.1.2 1.1.2

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System.Collections.Generic;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Oxide.Core.Libraries.Covalence; 

namespace Oxide.Plugins
{
    [Info("Anti Spam Names", "Ultra", "1.1.2")]
    [Description("Replaces domain extensions or specific spam words in player's name.Also renames fake admins.")]

    class AntiSpamNames : CovalencePlugin
    {
        #region Hooks

        void OnUserConnected(IPlayer player)
        {
            string newName = player.Name;

            if (configData.CheckSpamNames)
            {
                foreach (string spamKeyword in configData.SpamKeywordBlacklist)
                {
                    if (player.Name.ToLower().Contains(spamKeyword.ToLower()))
                    {
                        Regex regex = new Regex(spamKeyword, RegexOptions.IgnoreCase);
                        newName = regex.Replace(newName, configData.ReplaceForSpam);
                    }
                }
            }

            if (configData.CheckAdminNames && !player.IsAdmin)
            {
                foreach (string adminName in configData.AdminNameBlacklist)
                {
                    if (player.Name.ToLower().Contains(adminName.ToLower()))
                    {
                        Regex regex = new Regex(adminName, RegexOptions.IgnoreCase);
                        newName = regex.Replace(newName, configData.ReplaceForAdmin);
                    }
                }
            }

            if (player.Name.ToLower() != newName.ToLower())
            {
                player.Rename(newName);
            }
        }

        #endregion

        #region Config

        private ConfigData configData;

        private class ConfigData
        {
            [JsonProperty(PropertyName = "Check admin names")]
            public bool CheckAdminNames;

            [JsonProperty(PropertyName = "Admin name blacklist")]
            public List<string> AdminNameBlacklist;

            [JsonProperty(PropertyName = "Replace for admin")]
            public string ReplaceForAdmin;

            [JsonProperty(PropertyName = "Check spam names")]
            public bool CheckSpamNames;

            [JsonProperty(PropertyName = "Replace for spam")]
            public string ReplaceForSpam;

            [JsonProperty(PropertyName = "Spam keyword blacklist")]
            public List<string> SpamKeywordBlacklist;
        }

        protected override void LoadConfig()
        {
            try
            {
                base.LoadConfig();
                configData = Config.ReadObject<ConfigData>();
                if (configData == null)
                {
                    LoadDefaultConfig();
                }
            }
            catch
            {
                LoadDefaultConfig();
            }
            SaveConfig();

        } 

        protected override void LoadDefaultConfig()
        {
            configData = new ConfigData()
            {
                CheckAdminNames = true,
                CheckSpamNames = true,
                AdminNameBlacklist = new List<string>() { "Administrator", "Admin" },
                ReplaceForAdmin = "Player",
                ReplaceForSpam = "Spam",
                SpamKeywordBlacklist = new List<string>() { ".money", ".ru", ".com", ".pl", ".gg", ".de", ".net", "www.", ".org", ".info", ".cz", ".sk", ".uk", ".cn", ".nl", ".store", ".shop" }

            };
        }

        protected override void SaveConfig()
        {
            Config.WriteObject(configData, true);
            base.SaveConfig();
        }

        #endregion
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху