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:
parent
fcf3490693
commit
8a5b46565f
25
stoat_insert_members_to_server/sync.js
Executable file
25
stoat_insert_members_to_server/sync.js
Executable 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.");
|
||||
3
stoat_insert_members_to_server/sync.sh
Executable file
3
stoat_insert_members_to_server/sync.sh
Executable 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
|
||||
@ -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
|
||||
@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=Run Stoat Member Sync periodically
|
||||
|
||||
[Timer]
|
||||
OnCalendar=0/3:00:00
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
Loading…
Reference in New Issue
Block a user