client.on('ready' , () =>{ console.log('Bot esta escuchando'); client.user.setStatus('dnd'); console.log('bot status', client.user.presence.status); });
this.bot.on('guildCreate', async (guild) => { await this.Game.loadGuildConfig(guild.id); await this.discord.manageGuildChannels(guild); guild.members .filter(member => !member.user.bot && member.presence.status !== 'offline' && this.Game.dbClass().shouldBeInList(member.id, member.guild.id)) .map(member => Object.assign({}, { name: member.nickname ? member.nickname : member.displayName, discordId: member.id, guildId: guild.id, })) .forEach(member => this.onlinePlayers.set(member.discordId + member.guildId, member)); });
this.bot.once('ready', () => { if (!this.bot.user.avatarURL) { // avatarURL == null if not set this.bot.user.setAvatar(fs.readFileSync('./idle-rpg/res/hal.jpg')); } this.bot.user.setStatus('idle'); this.discord.loadGuilds(); this.loadHeartBeat(); this.Crons.loadCrons(); this.bot.guilds.forEach(async (guild) => { this.Game.loadGuildConfig(guild.id); guild.members .filter(member => !member.user.bot && member.presence.status !== 'offline' && this.Game.dbClass().shouldBeInList(member.id, member.guild.id)) .map(member => Object.assign({}, { name: member.nickname ? member.nickname : member.displayName, discordId: member.id, guildId: guild.id, })) .forEach(member => this.onlinePlayers.set(member.discordId + member.guildId, member)); }, console.log('Reset all personal multipliers')); });
this.bot.on('guildMemberAdd', async (member) => { if (member.presence.status !== 'offline') { if (await this.Game.dbClass().shouldBeInList(member.id + member.guild.id, member.guild.id)) { if (!this.onlinePlayers.has(member.id + member.guild.id)) { this.onlinePlayers.set(member.id + member.guild.id, { name: member.nickname ? member.nickname : member.displayName, discordId: member.id, guildId: member.guild.id, }); } } } if (member.guild.id !== guildID) { return; } const welcomeChannel = await member.guild.channels.find(channel => channel.name === 'newcomers' && channel.type === 'text'); if (welcomeChannel) { welcomeChannel.send(`Welcome ${member}! This server has an Idle-RPG bot! If you have any questions check the <#${member.guild.channels.find(channel => channel.name === 'faq' && channel.type === 'text').id}> or PM me !help.`); welcomeLog.info(member); } });
.filter(player => player.presence.status === 'offline' && !player.user.bot) .map((player) => { return { .filter(player => player.presence.status === 'online' && !player.user.bot || player.presence.status === 'idle' && !player.user.bot || player.presence.status === 'dnd' && !player.user.bot) .map((player) => { return {
this.bot.on('presenceUpdate', async (oldMember, newMember) => { if (!newMember.user.bot) { if (oldMember.presence.status === 'offline' && newMember.presence.status !== 'offline') { if (await this.Game.dbClass().shouldBeInList(newMember.id, newMember.guild.id)) { if (!this.onlinePlayers.has(newMember.id + newMember.guild.id)) { if (newMember.presence.status === 'offline' && oldMember.presence.status !== 'offline') { if (await this.Game.dbClass().shouldBeInList(newMember.id, newMember.guild.id)) { if (this.onlinePlayers.has(newMember.id + newMember.guild.id)) {
if (process.env.NODE_ENV.includes('production')) { const guildOnlineMembers = guild.members .filter(member => !member.user.bot && member.presence.status !== 'offline') .map(member => Object.assign({}, { name: member.nickname ? member.nickname : member.displayName,