claude AI generated code to auto insert users on the unloze stoat server who joined the stoat instance but did not join the unloze server

This commit is contained in:
jenz 2026-02-25 15:39:01 +01:00
parent fcf3490693
commit 8a5b46565f
4 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,25 @@
var SERVER_ID = '';
var memberUserIds = db.server_members.distinct("_id.user", { "_id.server": SERVER_ID });
var bannedUserIds = db.server_bans.distinct("_id.user", { "_id.server": SERVER_ID });
var excludedIds = memberUserIds.concat(bannedUserIds);
var users = db.users.find({
_id: { $nin: excludedIds }
}, { _id: 1 }).toArray();
var inserted = 0;
users.forEach(user => {
db.server_members.insertOne({
_id: {
server: SERVER_ID,
user: user._id
},
joined_at: Long(Date.now()),
roles: []
});
inserted++;
});
print("Done. Inserted " + inserted + " users into server.");

View File

@ -0,0 +1,3 @@
#!/bin/bash
cd /home/nonroot/stoat-server
docker compose exec -T database mongosh revolt < /home/nonroot/stoat_insert_members_to_server/sync.js

View File

@ -0,0 +1,8 @@
[Unit]
Description=Stoat Member Sync
After=docker.service
[Service]
Type=oneshot
User=nonroot
ExecStart=/home/nonroot/stoat_insert_members_to_server/sync.sh

View File

@ -0,0 +1,8 @@
[Unit]
Description=Run Stoat Member Sync periodically
[Timer]
OnCalendar=0/3:00:00
[Install]
WantedBy=timers.target