Exemplo n.º 1
0
        public static void Initialize()
        {
            var factory = new ChatterBotFactory();

            _cleverBot        = factory.Create(ChatterBotType.Cleverbot, "george");
            _cleverBotSession = _cleverBot.CreateSession();
        }
Exemplo n.º 2
0
        public async Task <bool> TryAsk(IChatterBotSession cleverbot, ITextChannel channel, string message)
        {
            await channel.TriggerTypingAsync().ConfigureAwait(false);

            var response = await cleverbot.Think(message).ConfigureAwait(false);

            try
            {
                await channel.SendConfirmAsync(response.SanitizeMentions()).ConfigureAwait(false);
            }
            catch
            {
                await channel.SendConfirmAsync(response.SanitizeMentions()).ConfigureAwait(false); // try twice :\
            }
            return(true);
        }
Exemplo n.º 3
0
        public static async Task <bool> TryAsk(IChatterBotSession cleverbot, IUserMessage msg, string message)
        {
            var channel = msg.Channel;
            var user    = msg.Author;

            await channel.TriggerTypingAsync().ConfigureAwait(false);

            var response = await cleverbot.Think(message).ConfigureAwait(false);

            try
            {
                await channel.SendConfirmAsync(user.Mention + " " + response.SanitizeMentions()).ConfigureAwait(false);
            }
            catch
            {
                await channel.SendConfirmAsync(user.Mention + " " + response.SanitizeMentions()).ConfigureAwait(false); // try twice :\
            }
            return(true);
        }
Exemplo n.º 4
0
        public string PrepareMessage(IUserMessage msg, out IChatterBotSession cleverbot)
        {
            var channel = msg.Channel as ITextChannel;

            cleverbot = null;

            if (channel == null)
            {
                return(null);
            }

            if (!ChatterBotGuilds.TryGetValue(channel.Guild.Id, out var lazyCleverbot))
            {
                return(null);
            }

            cleverbot = lazyCleverbot.Value;

            var    nadekoId      = _client.CurrentUser.Id;
            var    normalMention = $"<@{nadekoId}> ";
            var    nickMention   = $"<@!{nadekoId}> ";
            string message;

            if (msg.Content.StartsWith(normalMention))
            {
                message = msg.Content.Substring(normalMention.Length).Trim();
            }
            else if (msg.Content.StartsWith(nickMention))
            {
                message = msg.Content.Substring(nickMention.Length).Trim();
            }
            else
            {
                return(null);
            }

            return(message);
        }