Add chatterbot.py

This commit is contained in:
aikaterna
2017-04-07 21:43:31 -07:00
parent 5b7608ebb5
commit 71a2017c20
4 changed files with 39 additions and 1 deletions

View File

@@ -3,4 +3,6 @@ Cogs for Red-DiscordBot by Twentysix26.
cah - Cards Against Humanity. A port of CorpBot's module: https://github.com/corpnewt/CorpBot.py
chatterbot - A cog to chat with the bot, using ChatterBot: https://github.com/gunthercox/ChatterBot
pug - Warcraft pug checker. A port of PugBot's module: https://github.com/reznok/PugBot

27
chatterbot/chatterbot.py Normal file
View File

@@ -0,0 +1,27 @@
import discord
from discord.ext import commands
try:
from chatterbot import ChatBot
chatbotInstalled = True
except:
chatbotInstalled = False
class Chatterbot:
"""Chatter with the bot."""
def __init__(self, bot):
self.bot = bot
@commands.command(pass_context=True)
async def chatterbot(self, ctx, message):
"""Talk with the bot via ChatterBot."""
chatbot = ChatBot('Red-DiscordBot', trainer='chatterbot.trainers.ChatterBotCorpusTrainer')
chatbot.train("chatterbot.corpus.english")
await self.bot.say(chatbot.get_response(message))
def setup(bot):
if chatbotInstalled is False:
raise RuntimeError("Install ChatterBot:\n"
"[p]debug bot.pip_install('ChatterBot')\n"
"Then [p]load chatterbot")
bot.add_cog(Chatterbot(bot))

9
chatterbot/info.json Normal file
View File

@@ -0,0 +1,9 @@
{
"AUTHOR" : "aikaterna",
"INSTALL_MSG" : "Thanks for installing ChatterBot. This is still in testing.",
"NAME" : "Chatterbot",
"SHORT" : "Chat with the bot.",
"REQUIREMENTS" : ["ChatterBot"],
"DESCRIPTION" : "ChatterBot is a machine-learning based conversational dialog engine, check it out at: https://github.com/gunthercox/ChatterBot",
"TAGS" : ["chatter", "chat"]
}

View File

@@ -4,5 +4,5 @@
"NAME" : "Pug",
"SHORT" : "Warcraft character lookup.",
"DESCRIPTION" : "This tool lets you check potential group pugs for enchants, gems, and raid completion. It was made possible by PugBot: https://github.com/reznok/PugBot",
"TAGS" : ["warcraft", "raiding"]
"TAGS" : ["warcraft", "raiding", "raid"]
}