Exemplo n.º 1
0
        public static bool RemoveBadWord(
            string telegramGroup,
            string name)
        {
            Models.SystemLog.ErrorCodes removed = bwl.Remove(telegramGroup, name, -2);
            CacheData.BadWords = bwl.Get();

            return(removed == Models.SystemLog.ErrorCodes.Error ? false : true);
        }
Exemplo n.º 2
0
        public void Execute(Message message)
        {
            if (!Utils.BotTools.IsUserOperator(message.From.Id) &&
                !Utils.ChatTools.IsUserAdmin(message.Chat.Id, message.From.Id))
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp        = DateTime.UtcNow,
                    Chat             = message.Chat,
                    ReplyToMessageId = message.MessageId,
                    Text             = CacheData.GetTranslation("en", "error_not_auth_command")
                });
                return;
            }

            string[] arguments = message.Text.Split(" ");
            if (arguments.Length < 2)
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp        = DateTime.UtcNow,
                    Chat             = message.Chat,
                    ReplyToMessageId = message.MessageId,
                    Text             = CacheData.GetTranslation("en", "rwb_command_error_invalidsyntax")
                });
                return;
            }

            BusinessLogic.ButtonLogic   buttonLogic = new BusinessLogic.ButtonLogic();
            Models.SystemLog.ErrorCodes removed     = buttonLogic.Remove(CacheData.Groups[message.Chat.Id].GroupId,
                                                                         message.Text.Remove(0, arguments[0].Length + 1), -2);
            if (removed == Models.SystemLog.ErrorCodes.Error)
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp        = DateTime.UtcNow,
                    Chat             = message.Chat,
                    ReplyToMessageId = message.MessageId,
                    Text             = CacheData.GetTranslation("en", "rwb_command_error_general")
                });
                return;
            }

            Manager.BotClient.DeleteMessageAsync(message.Chat.Id, message.MessageId);
            string successMsg = CacheData.GetTranslation("en", "rwb_command_success");

            MessageQueueManager.EnqueueMessage(
                new Models.ChatMessage()
            {
                Timestamp = DateTime.UtcNow,
                Chat      = message.Chat,
                Text      = successMsg.Replace("{{wbName}}", arguments[1])
            });
        }
Exemplo n.º 3
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))
            {
                return;
            }

            Message messageToCheck = message;

            if (message.ReplyToMessage != null)
            {
                messageToCheck = message.ReplyToMessage;
            }

            if (messageToCheck.From.Id != Manager.MyId &&
                !messageToCheck.Text.Contains("NoteId:"))
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp        = DateTime.UtcNow,
                    Chat             = message.Chat,
                    ReplyToMessageId = message.MessageId,
                    Text             = CacheData.GetTranslation("en", "error_removenote_command_invalidmessage")
                });
                return;
            }

            Manager.BotClient.DeleteMessageAsync(message.Chat.Id, message.MessageId);

            string noteId = messageToCheck.Text.Split("NoteId:")[1].Trim();

            Models.Group.Note note = noteLogic.GetById(noteId);
            if (note == null)
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp = DateTime.UtcNow,
                    Chat      = message.Chat,
                    Text      = CacheData.GetTranslation("en", "error_removenote_command_invalidNoteId")
                });
                return;
            }

            if (note.GroupId != CacheData.Groups[messageToCheck.Chat.Id].GroupId)
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp = DateTime.UtcNow,
                    Chat      = message.Chat,
                    Text      = CacheData.GetTranslation("en", "error_removenote_command_invalidOwner")
                });
                return;
            }

            Models.SystemLog.ErrorCodes removed = noteLogic.Remove(noteId, -2);
            if (removed == Models.SystemLog.ErrorCodes.Error)
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp = DateTime.UtcNow,
                    Chat      = message.Chat,
                    Text      = CacheData.GetTranslation("en", "error_removenote_command_generic")
                });
            }

            if (message.MessageId != messageToCheck.MessageId)
            {
                Manager.BotClient.DeleteMessageAsync(message.Chat.Id, messageToCheck.MessageId);
            }

            MessageQueueManager.EnqueueMessage(
                new Models.ChatMessage()
            {
                Timestamp = DateTime.UtcNow,
                Chat      = message.Chat,
                Text      = CacheData.GetTranslation("en", "removenote_command_success"),
                AutoDestroyTimeInSeconds = 5,
                PostSentAction           = Models.ChatMessage.PostSentActions.Destroy
            });
        }
Exemplo n.º 4
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", "remsafe_command_error_notadmin")
                });
                return;
            }

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

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

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

            BusinessLogic.Group.SafeGroupLogic safeGroupLogic =
                new BusinessLogic.Group.SafeGroupLogic();
            Models.SystemLog.ErrorCodes removed = safeGroupLogic.Remove(
                CacheData.Groups[message.Chat.Id].GroupId,
                url, -2);
            if (removed == Models.SystemLog.ErrorCodes.Error)
            {
                MessageQueueManager.EnqueueMessage(
                    new Models.ChatMessage()
                {
                    Timestamp = DateTime.UtcNow,
                    Chat      = message.Chat,
                    Text      = CacheData.GetTranslation("en", "remsafe_command_error_general")
                });
                return;
            }

            string confirmationMessage = CacheData.GetTranslation("en", "remsafe_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();
        }