Почему не работает функция send_group в функции checkActive, хотя в dg_clan_damage она нормально работает?
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'send_group' of undefined
Из кода убрал все лишнее
class dg {
constructor(token,peer_id,user_id) {
// auth VK
this.vk = new VK({
token: token, // Token group
});
this.peer_id = peer_id;
this.user_id = user_id;
this.group_id = -123123123;
// bind
this.send_group = this.send_group.bind(this);
this.sendInterval = this.sendInterval.bind(this);
this.clan_damage = this.clan_damage.bind(this);
};
async send_group(text) {
try{
var res = await this.vk.api.messages.send({
peer_id: this.user_id,
message: text,
access_token: TOKEN
});
} catch (e) {
console.log(`-----------------------\nошибка отправки сообщения пользователю ${this.user_id}:\n\n${e}\n\n`)
}
};
async checkActive(user_id,db) {
new User(user_id, db, async function (user) {
console.log("Auto-bot: " + user.dg.is_active)
if (!user.dg.is_active) {
this.send_group(" Бот остановлен")
process.exit()
}
})
}
async dg_clan_damage(){
setTimeout(this.clan_damage, 1000);
this.send_group(' clan_damage комплект, запущен!')
}
}
connectToDB(MONGOURI, (db) => {
let token = process.argv[4]
let peer_id = Number(process.argv[3])
let user_id = Number(process.argv[2])
let bot = new dg(token,peer_id,user_id)
bot.dg_clan_damage()
setInterval(bot.checkActive, 2 * 1000,user_id,db)
});