summaryrefslogtreecommitdiff
path: root/bin/rtt-tm-unban-tick
diff options
context:
space:
mode:
Diffstat (limited to 'bin/rtt-tm-unban-tick')
-rwxr-xr-xbin/rtt-tm-unban-tick32
1 files changed, 32 insertions, 0 deletions
diff --git a/bin/rtt-tm-unban-tick b/bin/rtt-tm-unban-tick
new file mode 100755
index 0000000..7294e81
--- /dev/null
+++ b/bin/rtt-tm-unban-tick
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+# Run this script in a cron job to lift tournament bans periodically.
+
+sqlite3 db <<EOF
+
+begin immediate;
+
+.mode column
+
+create temporary view tm_lift_ban_view as
+ select
+ user_id,
+ name,
+ date(timeout_last),
+ timeout_total,
+ games_since_timeout,
+ (games_since_timeout > timeout_total) and (julianday() > julianday(timeout_last)+14) as lift_ban
+ from
+ user_profile_view
+ where
+ user_id in (select user_id from tm_banned)
+ order by lift_ban desc, timeout_last asc
+;
+
+select * from tm_lift_ban_view;
+
+delete from tm_banned where user_id in (select user_id from tm_lift_ban_view where lift_ban) returning user_id;
+
+commit;
+
+EOF