mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2025-09-01 08:21:27 +03:00
Database improvements
This commit is contained in:
@@ -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];
|
||||
|
||||
|
@@ -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;
|
||||
};
|
@@ -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: {
|
||||
|
@@ -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)
|
||||
|
@@ -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`);
|
||||
}
|
||||
|
@@ -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`);
|
||||
|
Reference in New Issue
Block a user