Пример #1
0
 public static void LoadCache()
 {
     BusinessLogic.Group.SafeGroupLogic safeGroupLogic =
         new BusinessLogic.Group.SafeGroupLogic();
     safeGroups = new List <SafeGroup>(safeGroupLogic.Get());
 }
Пример #2
0
        public void Execute(Message message)
        {
            if (!Utils.BotTools.IsUserOperator(message.From.Id, Models.Operator.Levels.Basic) &&
                !Utils.ChatTools.IsUserAdmin(message.Chat.Id, message.From.Id))
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp = DateTime.UtcNow,
                    Chat      = message.Chat,
                    Text      = CacheData.GetTranslation("en", "addsafe_command_error_notadmin")
                });
                return;
            }

            string url = message.Text.Split(" ")[1].Trim();

            if (url.StartsWith("@"))
            {
                url = "https://t.me/" + message.Text.Split(" ")[1].Remove(0, 1);
            }
            else if (url.StartsWith("t.me/"))
            {
                url = "https://" + url;
            }

            if (!Controls.Manager.IsTelegramLink(url))
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp = DateTime.UtcNow,
                    Chat      = message.Chat,
                    Text      = CacheData.GetTranslation("en", "addsafe_command_error_invalidgroupname")
                });
                return;
            }

            BusinessLogic.Group.SafeGroupLogic safeGroupLogic =
                new BusinessLogic.Group.SafeGroupLogic();
            Models.Group.SafeGroup safeGroup = safeGroupLogic.Add(
                CacheData.Groups[message.Chat.Id].GroupId,
                url, -2);
            if (safeGroup == null)
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp = DateTime.UtcNow,
                    Chat      = message.Chat,
                    Text      = CacheData.GetTranslation("en", "addsafe_command_error_general")
                });
                return;
            }

            string confirmationMessage = CacheData.GetTranslation("en", "addsafe_command_success");

            MessageQueueManager.EnqueueMessage(
                new Models.ChatMessage()
            {
                Timestamp = DateTime.UtcNow,
                Chat      = message.Chat,
                Text      = confirmationMessage.Replace("{{groupname}}",
                                                        message.Text.Split(" ")[1].Trim())
            });

            Filters.SafeGroupFilter.LoadCache();
        }