Added alot of functions
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
const { PartialWebhookMixin } = require('discord.js');
|
||||
const { sequelize } = require('../index');
|
||||
const Sequelize = require('sequelize');
|
||||
|
||||
@@ -7,12 +8,6 @@ const Users = sequelize.define('users', {
|
||||
primaryKey: true,
|
||||
unique: true,
|
||||
},
|
||||
teamId: {
|
||||
type: Sequelize.STRING,
|
||||
},
|
||||
minecraftUUID: {
|
||||
type: Sequelize.UUID,
|
||||
},
|
||||
useMinecraftUsername: {
|
||||
type: Sequelize.BOOLEAN,
|
||||
defaultValue: false,
|
||||
@@ -30,7 +25,7 @@ const Users = sequelize.define('users', {
|
||||
},
|
||||
});
|
||||
|
||||
const Teams = sequelize.define('teams', {
|
||||
const Team = sequelize.define('teams', {
|
||||
name: {
|
||||
type: Sequelize.STRING,
|
||||
unique: true,
|
||||
@@ -45,6 +40,12 @@ const Teams = sequelize.define('teams', {
|
||||
is: /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,
|
||||
},
|
||||
},
|
||||
textChannelId: {
|
||||
type: Sequelize.STRING,
|
||||
},
|
||||
voiceChannelId: {
|
||||
type: Sequelize.STRING,
|
||||
},
|
||||
});
|
||||
|
||||
const Minecraft = sequelize.define('minecraft', {
|
||||
@@ -63,4 +64,10 @@ const Minecraft = sequelize.define('minecraft', {
|
||||
},
|
||||
});
|
||||
|
||||
module.exports = { Users, Teams, Minecraft };
|
||||
Minecraft.hasOne(Users);
|
||||
Users.belongsTo(Minecraft);
|
||||
|
||||
Team.hasMany(Users, { as: 'members' });
|
||||
Users.belongsTo(Team);
|
||||
|
||||
module.exports = { Users, Team, Minecraft };
|
||||
|
@@ -1,8 +1,10 @@
|
||||
const applyUsername = async (user, member) => {
|
||||
await user.reload();
|
||||
|
||||
let rawUsername = member.user.globalName;
|
||||
|
||||
if (user.useMinecraftUsername && user.minecraftUUID) {
|
||||
const response = await fetch(`https://sessionserver.mojang.com/session/minecraft/profile/${user.minecraftUUID}`);
|
||||
if (user.useMinecraftUsername && user.minecraftUuid) {
|
||||
const response = await fetch(`https://sessionserver.mojang.com/session/minecraft/profile/${user.minecraftUuid}`);
|
||||
const minecraftProfile = await response.json();
|
||||
|
||||
rawUsername = minecraftProfile.name;
|
||||
@@ -10,14 +12,18 @@ const applyUsername = async (user, member) => {
|
||||
|
||||
user.rawUsername = rawUsername;
|
||||
|
||||
await user.save();
|
||||
await member.setNickname(rawUsername);
|
||||
const username = await getUsername(user);
|
||||
|
||||
return rawUsername;
|
||||
await user.save();
|
||||
await member.setNickname(username.slice(0, 32));
|
||||
|
||||
return username;
|
||||
};
|
||||
|
||||
const getUsername = (user) => {
|
||||
return user.rawUsername;
|
||||
const getUsername = async (user) => {
|
||||
const team = await user.getTeam();
|
||||
|
||||
return team ? user.rawUsername + ' [' + team.name + ']' : user.rawUsername;
|
||||
};
|
||||
|
||||
module.exports = { applyUsername, getUsername };
|
||||
|
Reference in New Issue
Block a user