SpiceBot-migrated/sopel_modules/SpiceBot/AI.py
2019-05-31 20:22:38 -04:00

47 lines
1.4 KiB
Python

# coding=utf8
from __future__ import unicode_literals, absolute_import, division, print_function
"""
This is the SpiceBot AI system. Based On Chatty cathy
"""
import os
import aiml
from .Logs import logs
class SpiceBot_AI():
def __init__(self):
self.dict = {
"counts": 0,
}
# Load AIML kernel
self.aiml_kernel = aiml.Kernel()
# Learn responses
import sopel_modules
initial_dir = os.getcwd()
for plugin_dir in set(sopel_modules.__path__):
configsdir = os.path.join(plugin_dir, "SpiceBot_Configs")
aimlstarter = os.path.join(configsdir, "std-startup.xml")
os.chdir(configsdir)
try:
self.aiml_kernel.learn(aimlstarter)
self.aiml_kernel.respond("LOAD AIML B")
# self.dict['counts'] += 1
except Exception as e:
logs.log('SpiceBot_AI', "Error loading %s: %s (%s)" % ('aiml', e, aimlstarter))
os.chdir(initial_dir)
# logs.log('SpiceBot_AI', "Found " + str(self.dict['counts']) + " " + 'aiml' + " commands.", True)
def on_message(self, message):
try:
aiml_response = self.aiml_kernel.respond(message)
except Exception as e:
aiml_response = e
return None
return aiml_response
botai = SpiceBot_AI()