bots: Use restricted open function in john.
This commit is contained in:
parent
f3eaa381f6
commit
51bf0cf869
|
@ -11,10 +11,10 @@ except ImportError:
|
||||||
Please: pip install chatterbot""")
|
Please: pip install chatterbot""")
|
||||||
|
|
||||||
BOTS_DIR = os.path.dirname(os.path.abspath(__file__))
|
BOTS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
JOKES_PATH = os.path.join(BOTS_DIR, 'assets/var/jokes.json')
|
|
||||||
DATABASE_PATH = os.path.join(BOTS_DIR, 'assets/var/database.db')
|
DATABASE_PATH = os.path.join(BOTS_DIR, 'assets/var/database.db')
|
||||||
DIRECTORY_PATH = os.path.join(BOTS_DIR, 'assets')
|
DIRECTORY_PATH = os.path.join(BOTS_DIR, 'assets')
|
||||||
VAR_PATH = os.path.join(BOTS_DIR, 'assets/var')
|
VAR_PATH = os.path.join(BOTS_DIR, 'assets/var')
|
||||||
|
JOKES_PATH = 'assets/var/jokes.json'
|
||||||
|
|
||||||
if not os.path.exists(DIRECTORY_PATH):
|
if not os.path.exists(DIRECTORY_PATH):
|
||||||
os.makedirs(DIRECTORY_PATH)
|
os.makedirs(DIRECTORY_PATH)
|
||||||
|
@ -40,60 +40,6 @@ def create_chat_bot(no_learn):
|
||||||
silence_performance_warning="True",
|
silence_performance_warning="True",
|
||||||
read_only=no_learn)
|
read_only=no_learn)
|
||||||
|
|
||||||
bot = create_chat_bot(False)
|
|
||||||
bot.set_trainer(ListTrainer)
|
|
||||||
|
|
||||||
bot.train([
|
|
||||||
"I want to contribute",
|
|
||||||
"""Contributors are more than welcomed! Please read
|
|
||||||
https://github.com/zulip/zulip#how-to-get-involved-with-contributing-to-zulip
|
|
||||||
to learn how to contribute.""",
|
|
||||||
])
|
|
||||||
|
|
||||||
bot.train([
|
|
||||||
"What is Zulip?",
|
|
||||||
"""Zulip is a powerful, open source group chat application. Written in Python
|
|
||||||
and using the Django framework, Zulip supports both private messaging and group
|
|
||||||
chats via conversation streams. You can learn more about the product and its
|
|
||||||
features at https://www.zulip.org.""",
|
|
||||||
])
|
|
||||||
|
|
||||||
bot.train([
|
|
||||||
"I would like to request a remote dev instance",
|
|
||||||
"""Greetings! You should receive a response from one of our mentors soon.
|
|
||||||
In the meantime, why don't you learn more about running Zulip on a development
|
|
||||||
environment? https://zulip.readthedocs.io/en/latest/using-dev-environment.html""",
|
|
||||||
])
|
|
||||||
|
|
||||||
bot.train([
|
|
||||||
"Joke!",
|
|
||||||
"Only if you ask nicely!",
|
|
||||||
])
|
|
||||||
|
|
||||||
bot.train([
|
|
||||||
"What is your name?",
|
|
||||||
"I am John, my job is to assist you with Zulip.",
|
|
||||||
])
|
|
||||||
|
|
||||||
bot.train([
|
|
||||||
"What can you do?",
|
|
||||||
"I can provide useful information and jokes if you follow etiquette.",
|
|
||||||
])
|
|
||||||
|
|
||||||
with open(JOKES_PATH) as data_file:
|
|
||||||
for joke in json.load(data_file):
|
|
||||||
bot.train([
|
|
||||||
"Please can you tell me a joke?",
|
|
||||||
joke['joke'],
|
|
||||||
])
|
|
||||||
|
|
||||||
bot.set_trainer(ChatterBotCorpusTrainer)
|
|
||||||
|
|
||||||
bot.train(
|
|
||||||
"chatterbot.corpus.english"
|
|
||||||
)
|
|
||||||
|
|
||||||
bota = create_chat_bot(True)
|
|
||||||
|
|
||||||
class JohnHandler(object):
|
class JohnHandler(object):
|
||||||
'''
|
'''
|
||||||
|
@ -111,9 +57,55 @@ class JohnHandler(object):
|
||||||
mantain a conversation, joke and give useful information.
|
mantain a conversation, joke and give useful information.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
def initialize(self, bot_handler):
|
||||||
|
self.bot = create_chat_bot(False)
|
||||||
|
self.bot.set_trainer(ListTrainer)
|
||||||
|
self.bot.train([
|
||||||
|
"I want to contribute",
|
||||||
|
"""Contributors are more than welcomed! Please read
|
||||||
|
https://github.com/zulip/zulip#how-to-get-involved-with-contributing-to-zulip
|
||||||
|
to learn how to contribute.""",
|
||||||
|
])
|
||||||
|
self.bot.train([
|
||||||
|
"What is Zulip?",
|
||||||
|
"""Zulip is a powerful, open source group chat application. Written in Python
|
||||||
|
and using the Django framework, Zulip supports both private messaging and group
|
||||||
|
chats via conversation streams. You can learn more about the product and its
|
||||||
|
features at https://www.zulip.org.""",
|
||||||
|
])
|
||||||
|
self.bot.train([
|
||||||
|
"I would like to request a remote dev instance",
|
||||||
|
"""Greetings! You should receive a response from one of our mentors soon.
|
||||||
|
In the meantime, why don't you learn more about running Zulip on a development
|
||||||
|
environment? https://zulip.readthedocs.io/en/latest/using-dev-environment.html""",
|
||||||
|
])
|
||||||
|
self.bot.train([
|
||||||
|
"Joke!",
|
||||||
|
"Only if you ask nicely!",
|
||||||
|
])
|
||||||
|
self.bot.train([
|
||||||
|
"What is your name?",
|
||||||
|
"I am John, my job is to assist you with Zulip.",
|
||||||
|
])
|
||||||
|
self.bot.train([
|
||||||
|
"What can you do?",
|
||||||
|
"I can provide useful information and jokes if you follow etiquette.",
|
||||||
|
])
|
||||||
|
with bot_handler.open(JOKES_PATH) as data_file:
|
||||||
|
for joke in json.load(data_file):
|
||||||
|
self.bot.train([
|
||||||
|
"Please can you tell me a joke?",
|
||||||
|
joke['joke'],
|
||||||
|
])
|
||||||
|
self.bot.set_trainer(ChatterBotCorpusTrainer)
|
||||||
|
self.bot.train(
|
||||||
|
"chatterbot.corpus.english"
|
||||||
|
)
|
||||||
|
self.bota = create_chat_bot(True)
|
||||||
|
|
||||||
def handle_message(self, message, bot_handler, state_handler):
|
def handle_message(self, message, bot_handler, state_handler):
|
||||||
original_content = message['content']
|
original_content = message['content']
|
||||||
bot_response = str(bota.get_response(original_content))
|
bot_response = str(self.bota.get_response(original_content))
|
||||||
bot_handler.send_reply(message, bot_response)
|
bot_handler.send_reply(message, bot_response)
|
||||||
|
|
||||||
handler_class = JohnHandler
|
handler_class = JohnHandler
|
||||||
|
|
Loading…
Reference in a new issue