Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Airtable = require('airtable');
- var Base = new Airtable({apiKey: 'keyrYtsUCwQBo48Pz'}).base('appwbA5iy1LHLUaKr');
- const rblxJs = require('rblx-js')
- var rbx = new rblxJs();
- let GetRecords = function() {
- return new Promise(function(Resolve, Reject){
- const RecordsList = [];
- var index = 0
- Base('Database').select({
- maxRecords: 99999,
- view: "Grid view"
- }).eachPage(function page(records, fetchNextPage) {
- records.forEach(function(record) {
- var FieldsTable = [];
- FieldsTable[Object.entries(record.fields)[0][0]] = Object.entries(record.fields)[0][1];
- FieldsTable[Object.entries(record.fields)[1][0]] = Object.entries(record.fields)[1][1];
- FieldsTable[Object.entries(record.fields)[2][0]] = Object.entries(record.fields)[2][1];
- FieldsTable[Object.entries(record.fields)[3][0]] = Object.entries(record.fields)[3][1];
- FieldsTable[Object.entries(record.fields)[4][0]] = Object.entries(record.fields)[4][1];
- FieldsTable[Object.entries(record.fields)[5][0]] = Object.entries(record.fields)[5][1];
- FieldsTable[Object.entries(record.fields)[6][0]] = Object.entries(record.fields)[6][1];
- RecordsList[index] = [FieldsTable, record.getId()];
- index++;
- });
- fetchNextPage();
- });
- setTimeout(function() {Resolve(RecordsList)}, 2500);
- });
- };
- let GetPlayerRecord = function(IdArray){
- return new Promise(function(Resolve, Reject) {
- let Id
- let ResolveData = false
- if (IdArray[1] == null){
- rbx.getUserByUsername(IdArray[0]).then(user=>{
- Id = user.userId + 0;
- });
- } else {
- Id = IdArray[1] + 0;
- };
- setTimeout(function() {
- GetRecords().then(function(RecordsList){
- for (var i in RecordsList) {
- if (RecordsList[i][0]['UserId'] == Id) {
- ResolveData = RecordsList[i];
- console.log('Player found in Database');
- break;
- };
- };
- });
- }, 1500);
- setTimeout(function() {
- console.log(ResolveData);
- Resolve(ResolveData);
- }, 4750);
- });
- };
- function UpdateRecord(IdArray, Data){
- GetPlayerRecord(IdArray).then(function(PlayerRecord){
- let Id
- if (IdArray[1] == null){
- rbx.getUserByUsername(IdArray[0]).then(user=>{
- Id = user.userId;
- });
- } else {
- Id = IdArray[1];
- };
- setTimeout(function() {
- if (PlayerRecord == false) {
- console.log('Creating');
- Base('Database').create({
- "UserId": Id,
- "Time": Data['Time'],
- "Reason": Data['Reason'],
- "Status": Data['Status'],
- "Offenses": Data['Offenses'],
- "Whitelisted": Data['Whitelisted'],
- "Blacklisted": Data['Blacklisted']
- });
- } else {
- console.log('Updating');
- Base('Database').update(PlayerRecord[1], {
- "UserId": Id,
- "Time": Data['Time'],
- "Reason": Data['Reason'],
- "Status": Data['Status'],
- "Offenses": Data['Offenses'],
- "Whitelisted": Data['Whitelisted'],
- "Blacklisted": Data['Blacklisted']
- });
- };
- }, 1500);
- });
- };
- function Ban(Username, Reason, Time) {
- var Data = [];
- GetPlayerRecord([Username, null]).then(function(PlayerRecord){
- if (Time == "Perma") {
- Data['Time'] = 0.0;
- } else {
- Data['Time'] = Time;
- };
- Data['Reason'] = Reason;
- Data['Status'] = "Banned";
- if (PlayerRecord != false) {
- Data['Offenses'] = PlayerRecord[0]['Offenses'] + 1;
- Data['Whitelisted'] = PlayerRecord[0]['Whitelisted'];
- Data['Blacklisted'] = PlayerRecord[0]['Blacklisted'];
- } else {
- Data['Offenses'] = 1;
- Data['Whitelisted'] = "False";
- Data['Blacklisted'] = "False";
- };
- setTimeout(function() {
- UpdateRecord([Username, null], Data);
- }, 2000);
- });
- };
- function Unban(Username, Reason) {
- var Data = [];
- GetPlayerRecord([Username, null]).then(function(PlayerRecord){
- Data['Reason'] = Reason;
- Data['Status'] = "Unbanned";
- Data['Time'] = 1.0
- if (PlayerRecord != false) {
- Data['Offenses'] = PlayerRecord[0][4];
- Data['Whitelisted'] = PlayerRecord[0]['Whitelisted'];
- Data['Blacklisted'] = PlayerRecord[0]['Blacklisted'];
- } else {
- Data['Offenses'] = 0;
- Data['Whitelisted'] = "False";
- Data['Blacklisted'] = "False";
- };
- setTimeout(function() {
- UpdateRecord(Username, Data);
- }, 2000);
- });
- };
- function Whitelist(Username, Reason) {
- var Data = [];
- GetPlayerRecord([Username, null]).then(function(PlayerRecord){
- Data['Reason'] = Reason;
- Data['Status'] = "Unbanned";
- Data['Whitelisted'] = "True";
- Data['Blacklisted'] = "False";
- if (PlayerRecord != false) {
- Data['Offenses'] = PlayerRecord[0]['Offenses'];
- } else {
- Data['Offenses'] = 0;
- Data['Whitelisted'] = "True";
- Data['Blacklisted'] = "False";
- };
- setTimeout(function() {
- UpdateRecord(Username, Data);
- }, 2000);
- });
- };
- function Blacklist(Username, Reason) {
- var Data = [];
- GetPlayerRecord([Username, null]).then(function(PlayerRecord){
- Data['Reason'] = Reason;
- Data['Status'] = "Banned";
- Data['Whitelisted'] = "False";
- Data['Blacklisted'] = "True";
- if (PlayerRecord != false) {
- Data['Offenses'] = PlayerRecord[0]['Offenses'];
- } else {
- Data['Offenses'] = 0;
- Data['Whitelisted'] = "False";
- Data['Blacklisted'] = "True";
- };
- setTimeout(function() {
- UpdateRecord(Username, Data);
- }, 2000);
- });
- };
- while (true) {
- var Seconds = new Date().getTime()/1000
- var Data = [];
- for (var i in RecordsList) {
- if (RecordsList[i][0][0] >= Seconds && (RecordsList[i][0][0] != 1.0 || RecordsList[i][0][0] != 0.0)) {
- Data['Reason'] = Reason;
- Data['Status'] = "Unbanned";
- Data['Time'] = 1.0;
- Data['Offenses'] = RecordsList[i][0][4];
- Data['Whitelisted'] = RecordsList[i][0][5];
- Data['Blacklisted'] = RecordsList[i][0][6];
- UpdateRecord([null, RecordsList[i][0][1]], Data)
- };
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement