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