mirror of
https://github.com/house-of-vanity/conf_bot.git
synced 2025-07-06 22:34:07 +00:00
Let's collect more data.
This commit is contained in:
@ -1,5 +1,51 @@
|
|||||||
BEGIN TRANSACTION;
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
--- CREATE TABLE `word` (
|
||||||
|
--- `id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
--- `word` TEXT UNIQUE
|
||||||
|
--- );
|
||||||
|
--- CREATE TABLE sqlite_sequence(name,seq);
|
||||||
|
--- CREATE TABLE `user` (
|
||||||
|
--- `id` INTEGER NOT NULL UNIQUE,
|
||||||
|
--- `username` TEXT NOT NULL,
|
||||||
|
--- `first_name` TEXT NOT NULL,
|
||||||
|
--- `last_name` TEXT NOT NULL,
|
||||||
|
--- `date` INTEGER NOT NULL,
|
||||||
|
--- PRIMARY KEY(`id`)
|
||||||
|
--- );
|
||||||
|
--- CREATE TABLE `conf` (
|
||||||
|
--- `id` NUMERIC NOT NULL UNIQUE,
|
||||||
|
--- `title` TEXT,
|
||||||
|
--- `date` INTEGER NOT NULL,
|
||||||
|
--- PRIMARY KEY(`id`)
|
||||||
|
--- );
|
||||||
|
--- CREATE TABLE `xxx_message` (`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `text` TEXT UNIQUE NULL);
|
||||||
|
--- CREATE TABLE IF NOT EXISTS "relations" (
|
||||||
|
--- `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
|
--- `word_id` INTEGER NOT NULL,
|
||||||
|
--- `user_id` INTEGER NOT NULL,
|
||||||
|
--- `conf_id` INTEGER NOT NULL,
|
||||||
|
--- `msg_id` INTEGER NOT NULL,
|
||||||
|
--- `date` INTEGER NOT NULL,
|
||||||
|
--- FOREIGN KEY(`word_id`) REFERENCES `word`(`id`) ON DELETE CASCADE,
|
||||||
|
--- FOREIGN KEY(`user_id`) REFERENCES `user`(`id`),
|
||||||
|
--- FOREIGN KEY(`conf_id`) REFERENCES `conf`(`id`)
|
||||||
|
--- );
|
||||||
|
--- CREATE TABLE `reset` (
|
||||||
|
--- `id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
--- `user_id` INTEGER,
|
||||||
|
--- `conf_id` INTEGER,
|
||||||
|
--- `date` INTEGER,
|
||||||
|
--- `relation_id` INTEGER,
|
||||||
|
--- FOREIGN KEY(`user_id`) REFERENCES `user`(`id`)
|
||||||
|
--- );
|
||||||
|
--- CREATE TABLE `alert` (
|
||||||
|
--- `conf_id`TEXT NOT NULL,
|
||||||
|
--- `user_id`TEXT NOT NULL,
|
||||||
|
--- `created`TEXT NOT NULL,
|
||||||
|
--- `time`TEXT NOT NULL,
|
||||||
|
--- `message`TEXT
|
||||||
|
--- );
|
||||||
CREATE TABLE `word` (
|
CREATE TABLE `word` (
|
||||||
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
`word` TEXT UNIQUE
|
`word` TEXT UNIQUE
|
||||||
@ -24,7 +70,7 @@ CREATE TABLE IF NOT EXISTS "relations" (
|
|||||||
`word_id` INTEGER NOT NULL,
|
`word_id` INTEGER NOT NULL,
|
||||||
`user_id` INTEGER NOT NULL,
|
`user_id` INTEGER NOT NULL,
|
||||||
`conf_id` INTEGER NOT NULL,
|
`conf_id` INTEGER NOT NULL,
|
||||||
`date` INTEGER NOT NULL,
|
`date` INTEGER NOT NULL, `msg_id` INTEGER NULL,
|
||||||
FOREIGN KEY(`word_id`) REFERENCES `word`(`id`) ON DELETE CASCADE,
|
FOREIGN KEY(`word_id`) REFERENCES `word`(`id`) ON DELETE CASCADE,
|
||||||
FOREIGN KEY(`user_id`) REFERENCES `user`(`id`),
|
FOREIGN KEY(`user_id`) REFERENCES `user`(`id`),
|
||||||
FOREIGN KEY(`conf_id`) REFERENCES `conf`(`id`)
|
FOREIGN KEY(`conf_id`) REFERENCES `conf`(`id`)
|
||||||
@ -44,4 +90,5 @@ CREATE TABLE `alert` (
|
|||||||
`time`TEXT NOT NULL,
|
`time`TEXT NOT NULL,
|
||||||
`message`TEXT
|
`message`TEXT
|
||||||
);
|
);
|
||||||
|
CREATE TABLE `xxx_message` (`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `text`TEXT UNIQUE NULL);
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
11
database.py
11
database.py
@ -89,15 +89,20 @@ class DataBase:
|
|||||||
)
|
)
|
||||||
self.execute(sql)
|
self.execute(sql)
|
||||||
|
|
||||||
def add_relation(self, word, user_id, conf_id):
|
def add_relation(self, word, user_id, conf_id, text):
|
||||||
word_id = self.save_word(word)
|
word_id = self.save_word(word)
|
||||||
date = int(dt.datetime.now().strftime("%s"))
|
date = int(dt.datetime.now().strftime("%s"))
|
||||||
|
sql2 = "INSERT OR IGNORE INTO xxx_message('text') VALUES ('%s')" % text
|
||||||
|
self.execute(sql2)
|
||||||
|
sql3 = "SELECT id FROM `xxx_message` WHERE text = '%s'" % text
|
||||||
|
msg_id = self.execute(sql3)[0][0]
|
||||||
sql = """INSERT OR IGNORE INTO
|
sql = """INSERT OR IGNORE INTO
|
||||||
relations('word_id', 'user_id', 'conf_id', 'date')
|
relations('word_id', 'user_id', 'conf_id', 'msg_id', 'date')
|
||||||
VALUES ('%s','%s','%s','%s')""" % (
|
VALUES ('%s','%s','%s','%s', '%s')""" % (
|
||||||
word_id,
|
word_id,
|
||||||
user_id,
|
user_id,
|
||||||
conf_id,
|
conf_id,
|
||||||
|
msg_id,
|
||||||
date
|
date
|
||||||
)
|
)
|
||||||
self.execute(sql)
|
self.execute(sql)
|
||||||
|
@ -248,7 +248,7 @@ class MessageWorker:
|
|||||||
self.db.add_conf(chat_id, chat_title)
|
self.db.add_conf(chat_id, chat_title)
|
||||||
|
|
||||||
for word in collection:
|
for word in collection:
|
||||||
self.db.add_relation(word=word, user_id=user_id, conf_id=chat_id)
|
self.db.add_relation(word=word, user_id=user_id, conf_id=chat_id, text=text)
|
||||||
|
|
||||||
def clean_text(self, s):
|
def clean_text(self, s):
|
||||||
file = open(self.stop_words, 'rt')
|
file = open(self.stop_words, 'rt')
|
||||||
|
Reference in New Issue
Block a user