Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let version = "5";
- let created = "13 January 2022";
- let usage = '!addcom !xp -ul=moderator -cd=5 $(eval q="$(querystring)";$(urlfetch json https://pastebin.com/raw/nK9mF4Y4))';
- let designer = "CharismaticZoe";
- dates =
- [
- [20230113,"604.654.064","449.033", "13 January 2023","13-1-2023"],
- [20230111,"600.012.264","448.067", "11 January 2023","11-1-2023"],
- [20230110,"594.890.943","447.824", "10 January 2023","10-1-2023"],
- [20230107,"588.290.943","445.341", "7 January 2023","7-1-2023"],
- [20230103,"579.420.623","442.897", "3 January 2023","3-1-2023"],
- [20221231,"573.717.364","441.520", "31 december 2022","31-12-2022"],
- [20221224,"561.297.654","437.787", "24 december 2022","24-12-2022"],
- [20221217,"549.454.877","432.944", "17 december 2022","17-12-2022"],
- [20221215,"546.606.622","431.594", "15 december 2022","15-12-2022"],
- [20221212,"542.739.772","429.675", "12 december 2022","12-12-2022"],
- [20221211,"541.115.962","429.003", "11 december 2022","11-12-2022"],
- [20221201,"531.730.536","423.913", "1 december 2022", "1-12-2022"],
- [20221128,"527.175.060","421.561", "28 November 2022","28-11-2022"],
- [20221127,"523.358.680","420.622", "27 November 2022","27-11-2022"],
- [20221126,"519.494.270","419.837", "26 November 2022","26-11-2022"],
- [20221121,"517.506.849","417.538", "21 November 2022","21-11-2022"],
- [20221114,"514.158.392","415.227", "14 November 2022","14-11-2022"],
- [20221110,"511.527.778","412.218", "10 November 2022","10-11-2022"],
- [20221108,"508.794.503","410.571", "8 November 2022", "8-11-2022"],
- [20221105,"505.744.513","408.653", "5 November 2022", "5-11-2022"],
- [20221031,"500.007.208","405.203", "31 Oktober 2022","31-10-2022"],
- [20221020,"490.340.413","400.000", "20 October 2022","20-10-2022"],
- [20221017,"486.430.211","398.075", "17 October 2022","17-10-2022"],
- [20221012,"478.551.790","394.481", "12 October 2022","12-10-2022"],
- [20221002,"468.731.478","388.412", "2 October 2022", "2-10-2022"],
- [20220924,"463.865.718","384.043", "24 September 2022", "24-9-2022"],
- [20220905,"447.067.085","370.417", "5 September 2022", "5-9-2022"],
- [20220904,"445.448.705","369.688", "4 September 2022", "4-9-2022"]
- ];
- message_start = "/me ";
- message_middle_1 = " xp ";
- message_middle_2 = " pókemon caught on ";
- message_middle_p_1 = " pókemon were caught and ";
- message_middle_p_2 = " xp was earned between ";
- message_middle_p_3 = " and ";
- let message;
- if (q == null||q=="")
- {
- message = message_start + dates[0][1]+ message_middle_1 + dates[0][2] + message_middle_2 + dates[0][3];
- }
- else
- {
- let date1;
- let date2;
- var teststring1 = q.replaceAll("%20", " ");
- var teststring2 = teststring1.replaceAll("\\", "-");
- var teststring2 = teststring1.replaceAll("%2F", "-");
- var teststring3 = teststring2.replaceAll("/", "-");
- var teststring3 = teststring2.replaceAll("%5C", "-");
- let dLen = dates.length;
- PlaceSpace = teststring3.indexOf(" ");
- if(PlaceSpace == -1)
- {
- var PlaceSepSM = teststring3.indexOf("-");
- var PlaceSepMY = teststring3.lastIndexOf("-");
- if(PlaceSepSM > 0)
- {
- dayte = '0'+ teststring3.slice(0,PlaceSepSM);
- day = dayte.slice(-2);
- lengthS = PlaceSepMY- PlaceSepSM -1;
- if(lengthS >= 1)
- {
- var mntte = '0'+ teststring3.substr(PlaceSepSM + 1, lengthS);
- mnt = mntte.slice(-2);
- var year = teststring3.substr(PlaceSepMY+ 1);
- search= year + mnt + day ;
- let dLen = dates.length;
- for (let i = 0; i < dLen; i++)
- {
- rdat = dates[i][0] ;
- if(rdat == search)
- {
- message = message_start + dates[i][1]+ message_middle_1 + dates[i][2] + message_middle_2 + dates[i][3];
- break;
- }
- if(rdat < search)
- {
- message = message_start + 'No data has been found for the date ' + teststring3 + '. Closest earlier known date is ' + dates[i][3] + ' with ' + dates[i][1] + ' xp and ' + dates[i][2] + ' pókemon caught' ;
- break;
- }
- if (i == dLen - 1)
- {
- message = message_start + 'No data has been found for the date ' + teststring3 + '. the earliest known date is ' + dates[i][3] + ' with ' + dates[i][1] + ' xp and ' + dates[i][2] + ' pókemon caught' ;
- break;
- }
- }
- }
- else
- {
- message = message_start + 'No data has been found for the date ' + teststring3 + '. last known date is ' + dates[0][3] + ' with ' + dates[0][1] + ' xp and ' + dates[0][2] + ' pókemon caught' ;
- }
- }
- else
- {
- uq = q.toUpperCase();
- message = message_start + 'No data has been found for the date ' + teststring3 + '. last known date is ' + dates[0][3] + ' with ' + dates[0][1] + ' xp and ' + dates[0][2] + ' pókemon caught' ;
- switch (uq)
- {
- case "LIST":
- let check;
- message = message_start + 'Last known dates: ';
- let sep = ' ';
- for (let i = 0; i < dLen; i++)
- {
- check = message.length + dates[i][4].length;
- if(check >=500)
- {
- break;
- }
- message = message + sep + dates[i][4];
- sep = ', ';
- }
- break;
- case "HELP":
- message = message_start + 'Type !xp for the last know xp. Type !xp LIST for a list of last know dates (max 500 positions). Type !xp <date> for values on date. Type !xp <date><space><date> for comparison between 2 dates. Type !xp version for version data.';
- break;
- case "ASK":
- message = '@Jaytheunderdog can you show your XP please :rolling_eyes: ';
- break;
- case "VERSION":
- message = message_start + 'Vesion: ' + version + ' (' + createdt +') by ' + designer;
- break;
- }
- }
- }
- else
- {
- day1t = teststring3.slice(0,PlaceSpace );
- var PlaceSepSM = day1t.indexOf("-");
- var PlaceSepMY = day1t.lastIndexOf("-");
- let caughtday1;
- let caughtxpy1;
- let displayday1;
- let msgday1;
- if(PlaceSepSM > 0)
- {
- dayte = '0'+ teststring3.slice(0,PlaceSepSM);
- day = dayte.slice(-2);
- lengthS = PlaceSepMY- PlaceSepSM -1;
- if(lengthS >= 1)
- {
- let blncont = false;
- var mntte = '0'+ teststring3.substr(PlaceSepSM + 1, lengthS);
- mnt = mntte.slice(-2);
- lengthS = PlaceSpace - PlaceSepMY-1;
- var year = teststring3.substr(PlaceSepMY+ 1, lengthS);
- search = year + mnt + day ;
- for (let i = 0; i < dLen; i++)
- {
- rdat = dates[i][0] ;
- caughtday1 = dates[i][2];
- caughtxpy1 = dates[i][1];
- displayday1 = dates[i][3];
- blncont = 'first';
- if(rdat == search)
- {
- blncont = 'true';
- break;
- }
- if(rdat < search)
- {
- blncont = 'closest';
- break;
- }
- }
- if(blncont == 'true')
- {
- msgday1 = ' ';
- }
- if(blncont == 'closest')
- {
- msgday1 = 'No data has been found for the date ' + day1t + ' the closest earlier day is ' + displayday1 + '. ';
- }
- if(blncont == 'first')
- {
- msgday1 = 'No data has been found for the date ' + day1t + '. First known date is ' + displayday1 + '. ';
- }
- }
- else
- {
- caughtday1 = dates[dLen-1][2];
- caughtxpy1 = dates[dLen-1][1];
- displayday1 = dates[dLen-1][3];
- msgday1 = 'No data has been found for the date ' + day1t + '. First known date is ' + displayday1 + '. ';
- message = msgday1;
- }
- }
- else
- {
- caughtday1 = dates[dLen-1][2];
- caughtxpy1 = dates[dLen-1][1];
- displayday1 = dates[dLen-1][3];
- msgday1 = 'No data has been found for the date ' + day1t + '. First known date is ' + displayday1 + '. ';
- }
- day2t = teststring3.slice(PlaceSpace+1 );
- var PlaceSepSM2 = day2t.indexOf("-");
- var PlaceSepMY2 = day2t.lastIndexOf("-");
- let search2;
- let msgday2;
- let blncont2 = false;
- let caughtday2;
- let caughtxpy2;
- let displayday2;
- if(PlaceSepSM2 > 0)
- {
- day2te = '0'+ day2t.slice(0,PlaceSepSM2);
- day2 = day2te.slice(-2);
- lengthS2 = PlaceSepMY2 - PlaceSepSM2-1 ;
- if(lengthS2 >= 1)
- {
- var mntte2 = '0'+ day2t.substr(PlaceSepSM2 + 1, lengthS2);
- mnt2 = mntte2.slice(-2);
- lengthS2 = PlaceSepMY2;
- var year2 = day2t.substr(PlaceSepMY2+1, 4);
- search2 = year2 + mnt2 + day2 ;
- for (let i = 0; i < dLen; i++)
- {
- rdat2 = dates[i][0] ;
- caughtday2 = dates[i][2];
- caughtxpy2 = dates[i][1];
- displayday2 = dates[i][3];
- if(rdat2 == search2)
- {
- blncont2 = 'true';
- break;
- }
- else
- {
- if(rdat2 < search2)
- {
- blncont2 = 'closest';
- break;
- }
- else
- {
- caughtday2 = dates[0][2];
- caughtxpy2 = dates[0][1];
- displayday2 = dates[0][3];
- blncont2 = 'last';
- }
- }
- }
- if(blncont2 == 'true')
- {
- msgday2 = ' ';
- }
- if(blncont2 == 'closest')
- {
- msgday2 = 'No data has been found for the date ' + day2t + ' the closest earlier day is ' + displayday2 + '. ';
- }
- if(blncont2 == 'last')
- {
- msgday2 = 'No data has been found for the date ' + day2t + '. Last known date is ' + displayday2 + '. ';
- }
- }
- else
- {
- caughtday2 = dates[0][2];
- caughtxpy2 = dates[0][1];
- displayday2 = dates[0][3];
- msgday2 = 'No data has been found for the date ' + day2t + '. Last known date is ' + displayday1 + '. ';
- }
- }
- else
- {
- caughtday2 = dates[0][2];
- caughtxpy2 = dates[0][1];
- displayday2 = dates[0][3];
- msgday2 = 'No data has been found for the date ' + day2t + '. Last known date is ' + displayday1 + '. ';
- }
- var countsting1 = caughtday1.replaceAll(".", "");
- var countsting2 = caughtday2.replaceAll(".", "");
- var intday1 = parseInt(countsting1);
- var intday2 = parseInt(countsting2);
- var Iresult = Math.abs(intday1 - intday2);
- var strIresult = Iresult.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
- var xpcountsting1 = caughtxpy1.replaceAll(".", "");
- var xpcountsting2 = caughtxpy2.replaceAll(".", "");
- var xpintday1 = parseInt(day1t);
- var xpintday2 = parseInt(day2t);
- var xpIresult = Math.abs(xpintday1 - xpintday2);
- var strxpIresult = xpIresult.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
- var d1 = new Date(day1t.substring(6,10), day1t.substring(3,5), day1t.substring(0,2));
- var d2 = new Date(day2t.substring(6,10), day2t.substring(3,5), day2t.substring(0,2));
- var diff = d2.getTime() - d1.getTime();
- message = message_start + msgday1 + msgday2 + strIresult + message_middle_p_1 + strxpIresult + message_middle_p_2 + displayday1 +
- message_middle_p_3 + displayday2 + ' ( average of ' + day2t + '/'+ day2t.substring(6,10) + '/' + day2t.substring(3,5) + '/' + day2t.substring(0,2)+ ' a day)';
- }
- }
- message;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement