Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let version = "1.0";
- let createdt = "16 MAy2023";
- let usage = '!addcom !goal -ul=moderator -cd=5 $(eval q="$(querystring)";$(urlfetch json https://pastebin.com/raw/RdZ4ZCfM))';
- let designer = "Silkenator23";
- dates =
- [
- [20230605,"111.672.673","77.201", "5 june 2023","5-6-2023"],
- [20230530,"110.110.171","75.912", "30 may 2023","30-5-2023"],
- [20230529,"109.912.307","75.535", "29 may 2023","29-5-2023"],
- [20230523,"109.371.487","74.357", "23 may 2023","23-5-2023"],
- [20230522,"108.973.287","73.884", "22 may 2023","22-5-2023"],
- [20230521,"108.836.927","73.523", "21 may 2023","21-5-2023"],
- [20230519,"108.155.706","73.020", "19 may 2023","19-5-2023"],
- [20230518,"108.039.191","72.690", "18 may 2023","18-5-2023"],
- [20230517,"107.791.731","72.315", "17 may 2023","17-5-2023"],
- [20230516,"107.706.434","72.023", "16 may 2023","16-5-2023"],
- ];
- 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 ";
- goal = 100000;
- const goal_date = new Date("2023-08-4");
- message_goal = " pókemon to catch and " ;
- message_goal_2 = " days before pókemon Go Fest London. Catch goal a day is: ";
- if (q == null||q=="")
- {
- var countsting1_s ;
- countsting1_s = dates[0][2].replaceAll(".", "");
- var xpIresult_s = Math.abs(countsting1_s - goal);
- var strxpIresult_s = xpIresult_s.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
- var date_Str_s_s = dates[0][0].toString();
- var date_Str_s = date_Str_s_s.slice(0, 4) + '-' + date_Str_s_s.slice(4, 6) + '-' + date_Str_s_s.slice(6, 8);
- Date_s = new Date(date_Str_s);
- var Difference_In_Time = goal_date.getTime() - Date_s.getTime();
- var Difference_In_Days = Math.ceil(Difference_In_Time / (1000 * 3600 * 24));
- var p_per_day = Math.ceil(xpIresult_s / Difference_In_Days);
- message = message_start + dates[0][1]+ message_middle_1 + dates[0][2] + message_middle_2 + dates[0][3] + message_middle_p_3 + strxpIresult_s + message_goal + Difference_In_Days + message_goal_2 + p_per_day + ' pókemon' ;
- }
- 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;
- var RowI = 0;
- 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];
- RowI = i;
- 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' ;
- RowI = i;
- 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' ;
- RowI = i;
- break;
- }
- }
- var countsting1_s2 ;
- countsting1_s2 = dates[RowI][2].replaceAll(".", "");
- var xpIresult_s2 = Math.abs(goal-countsting1_s2);
- var strxpIresult_s2 = xpIresult_s2.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
- var date_Str_s_s2 = dates[RowI][0].toString();
- var date_Str_s2 = date_Str_s_s2.slice(0, 4) + '-' + date_Str_s_s2.slice(4, 6) + '-' + date_Str_s_s2.slice(6, 8);
- Date_s2 = new Date(date_Str_s2);
- var Difference_In_Time2 = goal_date.getTime() - Date_s2.getTime();
- var Difference_In_Days2 = Math.ceil(Difference_In_Time2 / (1000 * 3600 * 24));
- var p_per_day2 = Math.ceil(xpIresult_s2 / Difference_In_Days2);
- message = message + message_middle_p_3 + strxpIresult_s2 + message_goal + Difference_In_Days2 + message_goal_2 + p_per_day2 + ' pókemon';
- }
- 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 >=400)
- {
- break;
- }
- message = message + sep + dates[i][4];
- sep = ', ';
- }
- break;
- case "LISTL":
- let check3;
- message = message_start + 'Last known dates: ';
- let sep3 = ' ';
- for (let i = 0; i < dLen; i++)
- {
- check3 = message.length + dates[i][4].length;
- if(check3 >=400)
- {
- break;
- }
- message = message + sep3 + dates[i][4];
- sep3 = ', ';
- }
- break;
- case "LISTF":
- let check2;
- let sep2 = ' ';
- message = message_start + 'First known dates: ';
- for (let i = dLen-1; i > 1; i--)
- {
- check2 = message.length + dates[i][4].length;
- if(check2 >=400)
- {
- break;
- }
- message = message + sep2 + dates[i][4];
- sep2 = ', ';
- }
- break;
- case "HELP":
- message = message_start + 'Type !goal for the last know xp. Type !goal LISTL for a list of last know dates (max 400 positions). Type !goal LISTF for a list of first know dates (max 400 positions). Type !goal <date> for values on date. Type !goal <date><space><date> for comparison between 2 dates. Type !goal version for version data.';
- break;
- case "ASK":
- message = '@iiamlaura can you show your XP and pokemon caught 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;
- var RowI3 = 0;
- 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];
- RowI3 = i;
- 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';
- RowI3 = 0;
- }
- }
- }
- 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 + '. ';
- RowI3 = 0;
- }
- }
- 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(xpcountsting1);
- var xpintday2 = parseInt(xpcountsting2);
- var xpIresult = Math.abs(xpintday1 - xpintday2);
- var strxpIresult = xpIresult.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
- var countsting1_s3 ;
- countsting1_s3 = dates[RowI3][2].replaceAll(".", "");
- var xpIresult_s3 = Math.abs(goal-countsting1_s3);
- var strxpIresult_s3 = xpIresult_s3.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
- var date_Str_s_s3 = dates[RowI3][0].toString();
- var date_Str_s3 = date_Str_s_s3.slice(0, 4) + '-' + date_Str_s_s3.slice(4, 6) + '-' + date_Str_s_s3.slice(6, 8);
- Date_s3 = new Date(date_Str_s3);
- var Difference_In_Time3 = goal_date.getTime() - Date_s3.getTime();
- var Difference_In_Days3 = Math.ceil(Difference_In_Time3 / (1000 * 3600 * 24));
- var p_per_day3 = Math.ceil(xpIresult_s3 / Difference_In_Days3);
- message = message_start + msgday1 + msgday2 + strIresult + message_middle_p_1 + strxpIresult + message_middle_p_2 + displayday1 + message_middle_p_3 + displayday2;
- message = message + ". " + strxpIresult_s3 + message_goal + Difference_In_Days3 + message_goal_2 + p_per_day3 + ' pókemon';
- }
- }
- message;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement