summary refs log tree commit diff
path: root/libs/datajob.js
diff options
context:
space:
mode:
Diffstat (limited to 'libs/datajob.js')
-rw-r--r--libs/datajob.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/libs/datajob.js b/libs/datajob.js
new file mode 100644
index 0000000..3453bcd
--- /dev/null
+++ b/libs/datajob.js
@@ -0,0 +1,27 @@
+function queryAw(connection, id, key, value) {
+	connection.query("INSERT INTO amygdala_profile(timestamp, userID, key, value) VALUES ($1, $2, $3, $4);", [Date.now(), id, key, value]);
+}
+
+module.exports = {
+	async saveUserData(connection, userId) {
+		let userData = client.users.cache.get(userId);
+		if (userData === undefined) {
+			userData = await client.users.fetch(userId);
+		}
+
+		await connection.query("BEGIN;");
+
+		try {
+			if (userData.globalName !== null) await queryAw(connection, userId, "discord_globalName", userData.globalName);
+			if (userData.avatar !== null) await queryAw(connection, userId, "discord_avatar", userData.avatar);
+			await queryAw(connection, userId, "discord_username", userData.username);
+			await queryAw(connection, userId, "discord_discriminator", userData.discriminator);
+		} catch (e) {
+			await connection.query("ROLLBACK;");
+			throw e;
+		}
+
+		await connection.query("COMMIT;");
+	}
+}
+