Files
croccybot/bot/modules/todo/data.py
Conatum e2c096f350 (todo): Add extra metrics for stats.
v6 -> v7 data migration.
Use soft deletion for tasks.
Remove task expiry.
Migrate `complete` field to `completed_at`.
2021-12-29 08:27:53 +02:00

26 lines
773 B
Python

from data import RowTable, Table
tasklist = RowTable(
'tasklist',
('taskid', 'userid', 'content', 'rewarded', 'created_at', 'completed_at', 'deleted_at', 'last_updated_at'),
'taskid'
)
tasklist_channels = Table('tasklist_channels')
tasklist_rewards = Table('tasklist_reward_history')
@tasklist_rewards.save_query
def count_recent_for(userid, interval='24h'):
with tasklist_rewards.conn:
with tasklist_rewards.conn.cursor() as curs:
curs.execute(
"SELECT SUM(reward_count) FROM tasklist_reward_history "
"WHERE "
"userid = {}"
"AND reward_time > timezone('utc', NOW()) - INTERVAL '{}'".format(userid, interval)
)
return curs.fetchone()[0] or 0