Использую Node.js и MongoDB. У меня есть есть vk.js который отвечает за работу бота ВК. После написания сообщения выдается ошибка TypeError: db.newUserRegister is not a function. Также есть ядро которое включает как раз таки vk.js и database.js Функция newUserRegister не работает. config.js тоже есть и он работает нормально.
vk.js:
const {VK} = require('vk-io')
const config = require('../config/config.json')
const db = require('./MongoDB/database.js')
console.log(config.prefix + 'Модуль VK запущен')
const vk = new VK ({
token: config.token,
apiVersion: '5.131'
})
vk.updates.on('message', async function(message) {
if (message.text == null || message.isGroup == true || message.text == 'undefined' || message.isOutbox) return;
if (message.senderId == config.admins) {
console.log('Сообщение от администратора! ' + message.text)
exports.message = message.text;
await db.newUserRegister(); //вот это выдает ошибку
return;
} else {
}
}) /* vk updates message */
async function initialize() {
await vk.updates.startPolling();
};
module.exports = {
vk: vk,
initialize: initialize
};
database.js:
const {MongoClient} = require('mongodb')
const vk = require('../vk.js')
const config = require('../../config/config.json')
const client = new MongoClient(config.db)
async function initialize() {
try {
await client.connect()
console.log(config.prefix + 'Соединение установлено')
} catch (e) {
console.log(e)
}
};
async function newUserRegister() {
const users = client.db().collection('users')
await users.insertOne({name: vk.message})
console.log("Сообщение " + vk.message + " успешно добавлено в коллекцию users")
};
module.exports = {
initialize: initialize,
newUserRegister: newUserRegister
}
app.js:
const db = require('./lib/MongoDB/database.js')
const vk = require('./lib/vk.js')
const config = require('C:/Users/User/Desktop/MongoDBBot/config/config.json')
async function main() {
await vk.initialize()
console.log(config.prefix + 'Отслеживание началось')
await db.initialize()
console.log(config.prefix + 'База данных успешно запущена')
}
main()