From 9b853f6809a0690e5fe4038374b6c44febb5b67b Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 28 Feb 2020 10:00:56 +0000 Subject: [PATCH] Improve markov chain text generator. --- database.py | 11 +++++++---- worker.py | 6 +++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/database.py b/database.py index 069c596..a67ea39 100755 --- a/database.py +++ b/database.py @@ -167,14 +167,17 @@ class DataBase: def get_random_message(self, conf_id=None, count=1): if not conf_id: - print('get random message from all DB') + print('get random message from all DB, count %s' % count) sql = "SELECT text FROM xxx_message ORDER BY RANDOM() LIMIT %s" % count else: - print('get random message from %s ' % conf_id) + print('get random message from %s, count: %s' % (conf_id, count)) sql = """SELECT x.text FROM xxx_message x LEFT JOIN relations r ON r.msg_id == x.id - WHERE r.conf_id = '%s' ORDER BY RANDOM() DESC LIMIT 1""" % conf_id + WHERE r.conf_id = '%s' ORDER BY RANDOM() DESC LIMIT %s""" % (conf_id, count) result = self.execute(sql) - return(result[0][0]) + messages = list() + for msg in result: + messages.append(msg[0]) + return(messages) def here(self, user_id, conf_id): sql = """ diff --git a/worker.py b/worker.py index 402ed1d..756e077 100755 --- a/worker.py +++ b/worker.py @@ -188,7 +188,6 @@ class MessageWorker: else: chat_title = msg['message']['chat']['title'] self.db.add_conf(conf_id, chat_title) - rand_messages = list() max_sen = 100 try: count = int(msg['message']['text'][8:]) @@ -201,9 +200,10 @@ class MessageWorker: except: use_all = False if use_all: - rand_messages.append(self.db.get_random_message(count=count)) + rand_messages = self.db.get_random_message(count=count) else: - rand_messages.append(self.db.get_random_message(conf_id, count=count)) + rand_messages = self.db.get_random_message(conf_id, count=count) + print(count, rand_messages) rand_text = " ".join(rand_messages) gen_text = get(rand_text) try: