Как сохранить содержимое сообщения - PullRequest
0 голосов
/ 22 января 2019

Пока мне удалось распечатать сообщения на консоли.Я искал решение этой проблемы часами.Я пытаюсь получить сообщение по идентификатору, используя «! 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, и она сохраняется вМонго БД как пустой объект с идентификатором

...