From 41c75de94ef223a76d4a0c9dad9ccca28bcbc399 Mon Sep 17 00:00:00 2001 From: Sardor Muminov Date: Wed, 26 Jul 2017 11:17:40 +0900 Subject: [PATCH] Add history feature --- bot/bot.py | 12 ++++-------- database/queries.py | 15 +++++++++++++++ database/schema.sql | 2 +- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/bot/bot.py b/bot/bot.py index d3d649c..f4c0b2a 100644 --- a/bot/bot.py +++ b/bot/bot.py @@ -9,6 +9,7 @@ # Queries from database.queries import user_exists, insert_user, deactivate_user +from database.queries import insert_text # Variables api_token = os.environ.get('API_TOKEN') @@ -148,12 +149,7 @@ async def left_chat_member_event(chat, member): @bot.group_message async def group_message_event(chat, message): sender = message.get('from') - sender_id = sender.get('id') # noqa - sender_name = sender.get('first_name') - chat = message.get('chat') - group_id = chat.get('id') message_date = message.get('date') - message_text = message.get('text') - logger.info('Got message from group %s at %s', group_id, message_date) - logger.info('Sender %s', sender_name) - logger.info('Text -> %s', message_text) + text = message.get('text') + logger.info('Got message from group at %s', message_date) + await insert_text(chat.bot.pg_pool, sender, text) diff --git a/database/queries.py b/database/queries.py index 70c059d..588460f 100644 --- a/database/queries.py +++ b/database/queries.py @@ -51,3 +51,18 @@ async def deactivate_user(pool, user): finally: await pool.release(conn) + + +async def insert_text(pool, sender, text): + query = ''' + insert into history(sender, text) + values ($1, $2) + ''' + + conn = await pool.acquire() + + try: + await conn.execute(query, sender, text) + + finally: + await pool.release(conn) diff --git a/database/schema.sql b/database/schema.sql index cefc257..2652e7d 100644 --- a/database/schema.sql +++ b/database/schema.sql @@ -15,7 +15,7 @@ create table if not exists users ( create table if not exists history ( - id bigint primary key, + id bigserial primary key, sender jsonb, timestamp timestamptz default timezone('Asia/Tashkent'::text, now()), text citext