Я устанавливаю бота Discord, и я делаю команду warn, в которой все записи будут записаны в таблицу Sequelize
. В настоящее время я также использую основной index.js
, и у меня есть папка со всеми командами. index.js
вызывает каждую команду при запуске бота. Я использую https://discordjs.guide/ для помощи и руководства. Я использовал их справку по базе данных Seqeulize
, поэтому я «добавляю тег» и помещаю именно то, что они сказали, кроме моих собственных имен столбцов.
Я ничего не пробовал, потому что не знаю, почему это может происходить. Я только начинаю в JS и самоучка, поэтому я не знаю много.
const Tags = sequelize.define('moderation', {
username: {
type: Sequelize.STRING,
unique: false,
},
case_num: {
type: Sequelize.INTEGER,
unique: true,
},
type: Sequelize.STRING,
reason: Sequelize.STRING,
length: Sequelize.STRING,
by: {
type: Sequelize.STRING,
unique: false,
},
date: {
type: Sequelize.DATE,
}
});
const Discord = require("discord.js");
const {parseUser} = require('../util/parseUser.js');
const {caseNumber} = require('../util/caseNumber.js');
const Sequelize = require("sequelize");
const Tags = require ('../modTable.js');
module.exports.run = async (bot, message, args) => {
const sequelize = new Sequelize('database', 'user', 'password', {
host: 'localhost',
dialect: 'sqlite',
logging: false,
operatorsAliases: false,
// SQLite only
storage: 'database.sqlite',
});
if(!message.member.hasPermission(['KICK_MEMBERS']))
return message.reply("Sorry, you don't have permissions to use this!");
const user = message.mentions.users.first();
if (user === message.author) {
return message.channel.send('You cannot do that to yourself, why did you try?');
}
const modlogs = bot.channels.find('name', 'mod-logs');
const caseNum = await caseNumber(bot, modlogs);
if (!modlogs) return message.reply('I cannot find a mod-log channel');
if (message.mentions.users.size < 1) return message.reply('You must mention someone to warn them.').catch(console.error);
const reason = args.splice(1, args.length).join(' ') || `no reason provided`;
let date = new Date();
const type_warn = "warn";
try {
const tag = await Tags.create({
username: message.mentions.users.first(),
case_num: caseNum,
type: type_warn,
reason: reason,
length: null,
by: message.author.username,
date: date,
});
console.log(e);
}
catch (e) {
console.log(e);
return message.reply('Something went wrong with adding this warn to the table. Please contact Charlee or VorTex eXDee!');
}
Я ожидаю, что объект будет зарегистрирован, и на терминале не появится ошибка, но он говорит:
Deprecationwarning: collection#find: pass a function instead
TypeError: Tags.create is not a function.