Beispiel #1
0
        public override void Execute(VkApi vk, Message message, string sourceQuery)
        {
            var targetTag = GetTargetTag(sourceQuery);
            var tagAlbums = EroRepository.TagsAlbums[targetTag];
            var dialog    = DialogSettings.GetSession(vk, message);
            var result    = Utils.GetWhile(() => VkUtils.GetNextPictureAndMessageForDialog_Ad(vk, dialog, tagAlbums[Utils.GetNextRandom(0, tagAlbums.Count - 1)]), (res) => res.Key != null, 10);

            VkNet.VkUtils.SendImage(vk, message, result.Key, result.Value);
        }
Beispiel #2
0
        public override void Execute(VkApi vk, Message message, string sourceQuery)
        {
            var query   = ExtractQuery(sourceQuery);
            var command = CommandUtils.AllCommands.FirstOrDefault(x => x.IsIt(query));

            if (command == null)
            {
                var dialog = DialogSettings.GetSession(vk, message);
                var result = Utils.GetWhile(() => VkUtils.GetNextPictureAndMessageForDialog_Ad(vk, dialog), (res) => res.Key != null, 10);
                VkNet.VkUtils.SendImage(vk, message, result.Key, result.Value);
            }
            else
            {
                command.Execute(vk, message, query);
            }
        }
        public override void Execute(VkApi vk, Message message, string sourceQuery)
        {
            var setIntervalCommand = CommandUtils.AllCommands.Single(x => x is SetIntervalValueCommand);
            var extractedQuery     = this.ExtractQuery(sourceQuery);

            if (setIntervalCommand.IsIt(extractedQuery))
            {
                setIntervalCommand.Execute(vk, message, extractedQuery);
            }
            else
            {
                var session = DialogSettings.GetSession(vk, message);
                session.IntervalDispatchingValue = 1;
                session.StartIntervalDispatching();
            }
        }
        public override void Execute(VkApi vk, Message message, string sourceQuery)
        {
            var targetQuery = sourceQuery.Substring(0, sourceQuery.Length - ExtractQuery(sourceQuery).Length);

            var value = ExtractValue(targetQuery);

            if (value < 1)
            {
                VkNet.VkUtils.SendMessage(vk, message, StringConstants.Dialog_IntervalCannotBeLessThan1);
            }
            else
            {
                var session = DialogSettings.GetSession(vk, message);
                session.IntervalDispatchingValue = value;
                session.StartIntervalDispatching();
            }
        }
Beispiel #5
0
 public override void Execute(VkApi vk, Message message, string sourceQuery)
 {
     DialogSettings.GetSession(vk, message).StopIntervalDispatching();
 }