mirror of
https://github.com/SpiceBot/SpiceBot.git
synced 2026-11-13 06:59:53 -05:00
save sessions to the database
This commit is contained in:
parent
c87a731ceb
commit
b0272d014e
@ -11,6 +11,7 @@ import tempfile
|
|||||||
import aiml
|
import aiml
|
||||||
|
|
||||||
from .Config import config as botconfig
|
from .Config import config as botconfig
|
||||||
|
from .Database import db as botdb
|
||||||
|
|
||||||
|
|
||||||
class SpiceBot_AI():
|
class SpiceBot_AI():
|
||||||
@ -18,6 +19,7 @@ class SpiceBot_AI():
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.dict = {
|
self.dict = {
|
||||||
"counts": 0,
|
"counts": 0,
|
||||||
|
"sessioncache": {}
|
||||||
}
|
}
|
||||||
# Load AIML kernel
|
# Load AIML kernel
|
||||||
self.aiml_kernel = aiml.Kernel()
|
self.aiml_kernel = aiml.Kernel()
|
||||||
@ -62,7 +64,14 @@ class SpiceBot_AI():
|
|||||||
def on_message(self, bot, trigger, message):
|
def on_message(self, bot, trigger, message):
|
||||||
nick = Identifier(trigger.nick)
|
nick = Identifier(trigger.nick)
|
||||||
nick_id = bot.db.get_nick_id(nick, create=True)
|
nick_id = bot.db.get_nick_id(nick, create=True)
|
||||||
|
if nick_id not in self.dict["sessioncache"]:
|
||||||
|
self.dict["sessioncache"][nick_id] = botdb.get_nick_value(nick, 'botai') or {}
|
||||||
|
for predicate in self.dict["sessioncache"][nick_id].keys():
|
||||||
|
predval = self.dict["sessioncache"][nick_id][predicate]
|
||||||
|
self.aiml_kernel.setPredicate(predicate, predval, sessionId=nick_id)
|
||||||
aiml_response = self.aiml_kernel.respond(message, sessionId=nick_id)
|
aiml_response = self.aiml_kernel.respond(message, sessionId=nick_id)
|
||||||
|
sessionData = self.aiml_kernel.getSessionData(nick_id)
|
||||||
|
botdb.set_nick_value(nick, 'botai', sessionData)
|
||||||
return aiml_response
|
return aiml_response
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user