Пример #1
0
        public Task ReadAllAsync()
        {
            if (!IsConversationStarted())
            {
                return(Task.CompletedTask);
            }



            //only if there are texts requested
            if (_subscriptions.Keys
                .Select(k => k.StartsWith("zenBot"))
                .Any())
            {
                //do chit-chat
                if (_isTellBotLast)
                {
                    var messageToSend = _tellBot.GetLastAnwer();
                    if (new Random().Next(100) > 80)
                    {
                        messageToSend = new ZenBotMessage()
                        {
                            Message = new ZenonFacts().GetRandomMessage()
                        }
                    }
                    ;
                    _askBot.GetNewAnswer(messageToSend);
                }
                else
                {
                    var messageToSend = _askBot.GetLastAnwer();
                    if (new Random().Next(100) > 80)
                    {
                        messageToSend = new ZenBotMessage()
                        {
                            Message = new ZenonQuestions().GetRandomMessage()
                        }
                    }
                    ;
                    _tellBot.GetNewAnswer(_askBot.GetLastAnwer());
                }
            }

            //map results to subscriptions
            var keys = _subscriptions.Keys.ToList();

            foreach (var key in keys)
            {
                if (key == "zenBot_ask_4" && _subscriptions.ContainsKey(key))
                {
                    _subscriptions[key] = _tellBot.ZenBotMessageQueue.SentMessages[^ 1]?.Message ?? "";
Пример #2
0
 public ZenBotMessage GetNewAnswer(ZenBotMessage message)
 {
     ZenBotMessageQueue.SendMessage(message);
     return(ZenBotMessageQueue.GetLastMessage());
 }