all repos — stealth-developers @ 029d0f7869ef4560f712596897a81bd0ef5b39c4

apps/bot/src/lib/db.ts (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
import { User, type APIInteractionGuildMember } from "discord.js";
import { GuildMember } from "discord.js";
import { upsertUser as _upsertUser } from "@stealth-developers/db";

export async function upsertUser(input: APIInteractionGuildMember | GuildMember | User) {
	if ("user" in input) {
		const member = input;
		const user = member.user;

		const nick = member instanceof GuildMember ? member.nickname : member.nick;
		const displayName = user instanceof User ? user.globalName : user.global_name;

		return _upsertUser({
			id: user.id,
			avatar: member.avatar || member.user.avatar,
			username: user.username,
			displayName: nick || displayName,
		});
	}

	const user = input;
	return _upsertUser({
		id: user.id,
		avatar: user.avatar,
		username: user.username,
		displayName: user.displayName,
	});
}