Example #1
0
        public async Task CleverbotLoop()
        {
            CleverbotSession cleverbot = new CleverbotSession("your-api-key");

            Console.WriteLine("Hello in the Cleverbot.Net test app, please type your message.\n");

            string msg = Console.ReadLine();

            Console.Write("...");
            CleverbotResponse r = await cleverbot.GetResponseAsync(msg);

            Console.CursorLeft = 0;
            Console.WriteLine(r.Response);

            while (true)
            {
                Console.ForegroundColor = ConsoleColor.Gray;
                msg = Console.ReadLine();
                Console.Write("...");
                r = await r.RespondAsync(msg);

                Console.CursorLeft = 0;
                Console.WriteLine(r.Response);
            }
        }
Example #2
0
        private async Task _client_MessageReceived(SocketMessage arg)
        {
            if (!arg.Author.IsBot)
            {
                string friendlyMessage = GetFriendlyDiscordMessage(arg);
                _log.Info($"[Discord message] [#{arg.Channel.Name}] {arg.Author.Username}: {arg.Content}");

                var message = _translate.GetTranslatedMessage(arg, friendlyMessage);
                if (message != null)
                {
                    await _translationChannel.SendMessageAsync("", false, message);
                }

                if (arg.MentionedUsers.Select(o => o.Id).Contains(_client.CurrentUser.Id))
                {
                    _log.Info($"Getting cleverbot response for user {arg.Author.Username}");

                    CleverbotResponse response = await _cleverbot.GetResponseAsync(friendlyMessage);

                    await arg.Channel.SendMessageAsync(response.Response);

                    _log.Info($"Cleverbot responds: {response.Response}");
                }
                else
                {
                    await HandleCommandAsync(arg);
                }
            }
        }
Example #3
0
        public static async Task <string> BotThinkAsync(string input, string botName)
        {
            //Remove bot name from message input
            if (input.StartsWith(botName, StringComparison.OrdinalIgnoreCase))
            {
                input = input.Substring(input.IndexOf(',', StringComparison.OrdinalIgnoreCase) + 1).Trim();
            }
            else if (input.TrimEnd().EndsWith(botName, StringComparison.OrdinalIgnoreCase))
            {
                input = input.Substring(0, input.LastIndexOf(botName, StringComparison.OrdinalIgnoreCase)).Trim();
            }

            try
            {
                if (cleverbotSession == null)
                {
                    cleverbotSession = new CleverbotSession(Settings.Default.CleverbotAPI);
                }

                CleverbotResponse answer = await cleverbotSession.GetResponseAsync(input).ConfigureAwait(false);

                return(answer.Response);
            }
            catch
            {
                cleverbotSession = new CleverbotSession(Settings.Default.CleverbotAPI);
                return("Sorry, but i can't think right now");
            }
        }
Example #4
0
    private void FindBotPartner(BotUser user)
    {
        user.BotSession = new CleverbotSession(Constants.CLEVERBOT_KEY);
        WaitRandomTime(5000);
        Clients.Caller.onPartnerJoined();

        //cleverbot starts the conversation
        if (FlipCoin())
        {
            string            conversationStarter = GetRandomConversationStarter();
            CleverbotResponse cbr     = user.BotSession.GetResponse(conversationStarter);
            string            message = ProcessBotResponse(cbr.Response);
            Clients.Caller.onMessageReceived(message, false);
        }
    }
Example #5
0
 public async Task <string> GetResponse(string message)
 {
     LastInteraction = DateTime.Now;
     _response       = await(_response?.RespondAsync(message) ?? Session.GetResponseAsync(message));
     return(_response.Response);
 }