Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require("discord.js")
- const lastwipeschema = require("../../schemas/lastwipeschema")
- const playerschema = require("../../schemas/PlayerSchema")
- const nbx = require("noblox.js")
- // Made by peter21340 on roblox or iMannys on Discord
- // I have made more advanced scripts, but I dont want to leak them.
- module.exports = (client, app) => {
- const checkTime = async () => {
- const pointtable = { // Displayed in minutes
- 1: 30,
- 2: 180,
- 3: 300,
- 4: 600,
- 5: 1140,
- 6: 1380,
- }
- const activitytrackingchannel = client.channels.cache.get("870364723223334972")
- const result = await lastwipeschema.findOne()
- if (result != null) {
- const lastwipe = result.lastwipe
- const lastday = lastwipe.getUTCDate()
- const now = new Date()
- const day = now.getUTCDate()
- const hours = now.getUTCHours()
- const month = now.getUTCMonth() + 1
- const year = now.getUTCFullYear()
- if (day > lastday) {
- if (hours >= 1) { // needs to be 1 because of utc
- var activitytracking = new Discord.MessageEmbed()
- .setAuthor("GR Bot | Activity tracking", "https://i.imgur.com/dcuTbO6.png")
- .setTitle("Success!")
- .setDescription(`${day}/${month}/${year} leaderboard for experience`)
- .setTimestamp()
- .setColor("#0099ff")
- .setFooter("Made by peter21340")
- const maxvalues = await playerschema.find().sort({ "activitytoday.onlyminutes": -1 }) // -1 for descending and 1 for ascending
- for (let index = 0; index < maxvalues.length; index++) {
- const document = maxvalues[index];
- var pos = index + 1
- if (pos < 11) {
- var onlyminutes = document.activitytoday.onlyminutes
- var eptoday = 0
- for (const [i, v] of Object.entries(pointtable)) {
- if (onlyminutes >= 30) {
- if (v % onlyminutes === 0) {
- eptoday = i
- break
- } else if (v > onlyminutes) {
- eptoday = i - 1
- break
- }
- }
- }
- var activitytodaystring = `${document.activitytoday.hours}h ${document.activitytoday.minutes}min`
- activitytracking.addField(`${pos}) ${await nbx.getUsernameFromId(document.rbxId)} (${document.rbxId})`, `${activitytodaystring} (${eptoday})`)
- }
- }
- activitytrackingchannel.send(activitytracking)
- await playerschema.updateMany({}, {
- activitytoday: {
- hours: 0,
- minutes: 0
- }
- })
- await lastwipeschema.updateMany({}, {
- lastwipe: now,
- })
- console.log("ACTIVITY WIPED")
- }
- }
- } else {
- await lastwipeschema.findOneAndUpdate({}, {
- lastwipe: new Date()
- },
- {
- upsert: true
- })
- }
- setTimeout(checkTime, 1000 * 60 * 10)
- }
- checkTime()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement