Пока мне удалось распечатать сообщения на консоли.Я искал решение этой проблемы часами.Я пытаюсь получить сообщение по идентификатору, используя «! Archive» + message_id.Затем я хочу взять содержимое и сохранить его в базе данных Mongo.Возможно, моя Схема неверна или неправильный способ ее хранения.Вот что у меня есть для кода бота:
const discord = require('discord.js');
const bot = new discord.Client();
const config = require('./config.json');
const mongoose = require('mongoose');
let Msg = require('../models/messages');
function archiver() {
bot.on('ready', () => {
console.log(`Bot has started, with ${bot.users.size} users, in
${bot.channels.size} channels`);
});
bot.on('message', (message) => {
const channel = bot.channels.get('537131544821628929');
const args = message.content.slice(config.prefix.length).split(' ');
const command = args.shift().toLowerCase();
let msg = new Msg(message.body);
if(command === 'archive') {
channel.fetchMessage(args[0])
msg.save()
.then(message => {
Promise.resolve(message)
console.log(message.content);
})
.catch(console.error);
message.reply('Message successfully archived');
}
});
db схема:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let Msg = new Schema({
message: String
});
module.exports = mongoose.model('Msg', Msg);
Когда я запускаю команду с этим кодом, я получаю undefined
, и она сохраняется вМонго БД как пустой объект с идентификатором