geometry-dash-api
Version:
Module for working with Geometry Dash API
51 lines (36 loc) • 1.31 kB
JavaScript
const { error } = require('../functions/errors');
module.exports = class Updates {
constructor(options = {}, api) {
this.api = api;
this.options = options;
}
on(type, callback, interval = 1000) {
if (interval < 1000) {
error('The interval cannot be less than 1000ms');
return;
}
if (type === 'lastNewRequest') {
let lastRequestID;
setInterval(async() => {
const requests = await this.api.friends.getRequests();
const user = requests.users[0];
if (!user) return;
if (lastRequestID === user.requestID) return;
if (!user.isNew) return;
lastRequestID = user.requestID;
callback(user);
}, interval);
}
if (type === 'lastSentRequest') {
let lastRequestID;
setInterval(async() => {
const requests = await this.api.friends.getSentRequests();
const user = requests.users[0];
if (!user) return;
if (lastRequestID === user.requestID) return;
lastRequestID = user.requestID;
callback(user);
}, interval);
}
}
};