UNPKG

makecord-create

Version:

Create advanced Discord Bots with Makecord - Now with TypeScript support

62 lines (55 loc) 1.25 kB
import { mongoose } from '../connection.js'; const userSchema = new mongoose.Schema({ userId: { type: String, required: true, unique: true }, username: { type: String, required: true }, discriminator: String, avatar: String, createdAt: { type: Date, default: Date.now }, updatedAt: { type: Date, default: Date.now }, // Add any other user properties you want to store settings: { type: Map, of: mongoose.Schema.Types.Mixed, default: {} } }, { timestamps: true }); // Create and export the User model export const User = mongoose.model('User', userSchema); /** * Find or create a user * @param {Object} userData - User data from Discord * @returns {Promise<Object>} - The user document */ export async function findOrCreateUser(userData) { try { let user = await User.findOne({ userId: userData.id }); if (!user) { user = new User({ userId: userData.id, username: userData.username, discriminator: userData.discriminator, avatar: userData.avatar }); await user.save(); } return user; } catch (error) { console.error('Error finding or creating user:', error); throw error; } }