Database improvements

This commit is contained in:
Isaac
2021-05-30 20:39:14 +01:00
parent c91a8c5b0c
commit 461d535102
7 changed files with 25 additions and 30 deletions

View File

@@ -59,7 +59,7 @@ module.exports = class BlacklistCommand extends Command {
id = role.id;
} else if (/\d{17,19}/.test(input)) {
id = input;
} else if (settings.blacklist?.length === 0) {
} else if (settings.blacklist.length === 0) {
return await message.channel.send(
new MessageEmbed()
.setColor(settings.colour)
@@ -69,7 +69,7 @@ module.exports = class BlacklistCommand extends Command {
);
} else {
// list blacklisted members
const blacklist = settings.blacklist?.map(element => {
const blacklist = settings.blacklist.map(element => {
const is_role = message.guild.roles.cache.has(element);
if (is_role) return `» <@&${element}> (\`${element}\`)`;
else return `» <@${element}> (\`${element}\`)`;
@@ -85,7 +85,7 @@ module.exports = class BlacklistCommand extends Command {
const is_role = role !== undefined || message.guild.roles.cache.has(id);
const member_or_role = is_role ? 'role' : 'member';
const index = settings.blacklist?.findIndex(element => element === id);
const index = settings.blacklist.findIndex(element => element === id);
const new_blacklist = [...settings.blacklist];

View File

@@ -66,7 +66,7 @@ module.exports = async client => {
require(`./models/${model}`)(client, sequelize);
}
sequelize.sync({ alter: { drop: false } });
await sequelize.sync({ alter: { drop: false } });
return sequelize;
};

View File

@@ -4,6 +4,14 @@ module.exports = ({ config }, sequelize) => {
sequelize.define('Guild', {
blacklist: {
defaultValue: [],
get() {
const raw_value = this.getDataValue('blacklist');
return raw_value
? typeof raw_value === 'string'
? JSON.parse(raw_value)
: raw_value
: null;
},
type: DataTypes.JSON
},
colour: {

View File

@@ -2,7 +2,6 @@ const { DataTypes } = require('sequelize');
module.exports = (_client, sequelize) => {
const { DB_TABLE_PREFIX } = process.env;
sequelize.define('Message', {
author: {
allowNull: false,
type: DataTypes.CHAR(19)

View File

@@ -37,10 +37,10 @@ module.exports = class MessageReactionAddEventListener extends EventListener {
const channel = r.message.channel;
const member = await guild.members.fetch(u.id);
if (settings.blacklist?.includes(u.id)) {
if (settings.blacklist.includes(u.id)) {
return this.client.log.info(`Ignoring blacklisted member ${u.tag}`);
} else {
settings.blacklist?.forEach(element => {
settings.blacklist.forEach(element => {
if (guild.roles.cache.has(element) && member.roles.cache.has(element)) {
return this.client.log.info(`Ignoring member ${u.tag} with blacklisted role`);
}

View File

@@ -87,14 +87,12 @@ module.exports = class CommandManager {
const cmd = this.commands.find(cmd => cmd.aliases.includes(cmd_name));
if (!cmd) return;
if (typeof settings.blacklist === 'string') settings.blacklist = JSON.parse(settings.blacklist);
let is_blacklisted = false;
if (settings.blacklist?.includes(message.author.id)) {
if (settings.blacklist.includes(message.author.id)) {
is_blacklisted = true;
this.client.log.info(`Ignoring blacklisted member ${message.author.tag}`);
} else {
settings.blacklist?.forEach(element => {
settings.blacklist.forEach(element => {
if (message.guild.roles.cache.has(element) && message.member.roles.cache.has(element)) {
is_blacklisted = true;
this.client.log.info(`Ignoring member ${message.author.tag} with blacklisted role`);