summaryrefslogtreecommitdiff
path: root/bin/rtt-tm-unban-tick
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2025-04-25 12:18:00 +0200
committerTor Andersson <tor@ccxvii.net>2025-04-25 17:56:43 +0200
commitfc3501382c2aa3ef5b692f4f55c2616f9cade3f5 (patch)
treea047bb94f8f1854c621fa0fba5ed62c8e0d0be14 /bin/rtt-tm-unban-tick
parented2361980b455d1825d811670f329cbcf5624927 (diff)
downloadserver-fc3501382c2aa3ef5b692f4f55c2616f9cade3f5.tar.gz
Move toolbox scripts to a "bin" directory.
Add a super "rtt" command to run the scripts.
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