From df032a8f7869e9bbba4ad7f7efbc2afa00fc0b39 Mon Sep 17 00:00:00 2001 From: JetRaidz Date: Sat, 19 Feb 2022 21:00:08 +1300 Subject: [PATCH] (data): Adding support for premium currency. --- bot/core/data.py | 15 ++++++++++++++- data/schema.sql | 5 +++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/bot/core/data.py b/bot/core/data.py index 58c1331b..53066580 100644 --- a/bot/core/data.py +++ b/bot/core/data.py @@ -14,7 +14,7 @@ meta = RowTable( user_config = RowTable( 'user_config', - ('userid', 'timezone', 'topgg_vote_reminder', 'avatar_hash'), + ('userid', 'timezone', 'topgg_vote_reminder', 'avatar_hash', 'gems'), 'userid', cache=TTLCache(5000, ttl=60*5) ) @@ -120,6 +120,19 @@ def get_member_rank(guildid, userid, untracked): return curs.fetchone() or (None, None) +@user_config.save_query +def set_gems(userid, amount): + with user_config.conn as conn: + cursor = conn.cursor() + cursor.execute( + "UPDATE user_config SET gems = %s WHERE userid = %s RETURNING *", + (amount, userid) + ) + data = cursor.fetchone() + if data: + return user_config._make_rows(data)[0] + + global_guild_blacklist = Table('global_guild_blacklist') global_user_blacklist = Table('global_user_blacklist') ignored_members = Table('ignored_members') diff --git a/data/schema.sql b/data/schema.sql index 5287648e..640a3c39 100644 --- a/data/schema.sql +++ b/data/schema.sql @@ -42,9 +42,10 @@ CREATE TABLE global_guild_blacklist( CREATE TABLE user_config( userid BIGINT PRIMARY KEY, timezone TEXT, - topgg_vote_reminder, + topgg_vote_reminder BOOLEAN, avatar_hash TEXT, - API_timestamp BIGINT + API_timestamp BIGINT, + gems INTEGER DEFAULT 0 ); -- }}}