public static void Initialize() { var factory = new ChatterBotFactory(); _cleverBot = factory.Create(ChatterBotType.Cleverbot, "george"); _cleverBotSession = _cleverBot.CreateSession(); }
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); }
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); }
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); }