【发布时间】:2022-01-14 00:13:10
【问题描述】:
我正在创建一个事件,它会在设定的时间间隔内检查 monogodatabase 以查看它们是否是任何过期的键,然后从该成员中删除角色。
const mongoose = require("mongoose")
const { Discord, GuildMemberRoleManager, GuildMember, Guild, Client, Message } = require("discord.js");
const { Database } = require("../../Structures/config.json");
const { count, key } = require("../../Structures/Schemas/keys");
const keys = require('../../Structures/Schemas/keys');
module.exports = {
name: "ready",
permission: "ADMINISTRATOR",
/**
* @param {Message} oldMessage
* @param {GuildMemberRoleManager}
* @param {GuildMember} member
* @param {Guild} guild
* @param {Client} client
*/
async execute(client, member, guild) {
setInterval(() => {
keys.count({ redeemed: true }, async function( err, results ){
console.log(results)
console.log("Number of keys:", results);
const counts = results;
const keyfind = await keys.findOne({ redeemed: true });
for(let i = 0; i < counts; i++){
keys.findOne({ redeemed: true }, 'redeemedAt expiryAt userid', async function (err, keys){
if (err) return handleError(err);
const currentTime = new Date(Date.now())
const expirationDate = keys.expiryAt;
const timeout = currentTime - expirationDate;
const role = guild.roles.cache.get('924064535663480922');
const member = await guild.members.fetch(keys.userid);
console.log(timeout)
if (timeout < -1){
await keys.then(keyfind.delete());
member.roles.remove(role);
}
})
}
});
}, 3500);
}
}
每当事件运行时,我都会不断收到此错误 “TypeError:无法读取未定义的属性(正在读取'角色')”。
【问题讨论】:
标签: javascript node.js discord bots