View difference between Paste ID: RdZ4ZCfM and y3bRu6VG
SHOW: | | - or go back to the newest paste.
1-
let version  = "4.2";
1+
let version  = "1.0";
2-
let createdt = "17 March 2023";
2+
let createdt = "16 MAy2023";
3-
let usage    = '!addcom !xp -ul=moderator -cd=5 $(eval q="$(querystring)";$(urlfetch json https://pastebin.com/raw/nK9mF4Y4))';
3+
let usage    = '!addcom !goal -ul=moderator -cd=5 $(eval q="$(querystring)";$(urlfetch json https://pastebin.com/raw/RdZ4ZCfM))';
4-
let designer = "CharismaticZoe";
4+
let designer = "Silkenator23";
5
6
dates =
7
[
8-
  [20231012,"1.000.000.000","631.259",  "12 October 2023",  "12-10-2023"],
8+
  [20230605,"111.672.673","77.201",  "5 june 2023","5-6-2023"],
9-
  [20231011,"999.836.669","630.908",  "11 October 2023",  "11-10-2023"],
9+
  [20230530,"110.110.171","75.912",  "30 may 2023","30-5-2023"],
10-
  [20231010,"999.582.459","630.243",  "10 October 2023",  "10-10-2023"],
10+
  [20230529,"109.912.307","75.535",  "29 may 2023","29-5-2023"],
11-
  [20231001,"996.823.362","625.858",  "1 October 2023",  "1-10-2023"],
11+
  [20230523,"109.371.487","74.357",  "23 may 2023","23-5-2023"],
12-
  [20230928,"995.253.301","623.330",  "28 September 2023",  "28-9-2023"],
12+
  [20230522,"108.973.287","73.884",  "22 may 2023","22-5-2023"],
13-
  [20230923,"988.912.097","620.738",  "23 September 2023",  "23-9-2023"],
13+
  [20230521,"108.836.927","73.523",  "21 may 2023","21-5-2023"],
14-
  [20230921,"980.911.897","619.233",  "21 September 2023",  "21-9-2023"],
14+
  [20230519,"108.155.706","73.020",  "19 may 2023","19-5-2023"],
15-
  [20230920,"979.815.872","618.202",  "20 September 2023",  "20-9-2023"],
15+
  [20230518,"108.039.191","72.690",  "18 may 2023","18-5-2023"],
16-
  [20230915,"976.759.905","614.601",  "15 September 2023",  "15-9-2023"],
16+
  [20230517,"107.791.731","72.315",  "17 may 2023","17-5-2023"],
17-
  [20230914,"970.448.185","613.014",  "14 September 2023",  "14-9-2023"],
17+
  [20230516,"107.706.434","72.023",  "16 may 2023","16-5-2023"],
18-
  [20230907,"953.530.802","607.458",  "7 September 2023",  "7-9-2023"],
18+
19-
  [20230905,"946.014.069","605.218",  "5 September 2023",  "5-9-2023"],
19+
20-
  [20230901,"937.323.819","602.026",  "1 September 2023",  "1-9-2023"],
20+
21-
  [20230831,"936.579.739","600.961",  "31 August 2023",  "31-8-2023"],
21+
22-
  [20230615,"869.944.092","550.000",  "15 June 2023","15-6-2023"],
22+
23-
  [20230606,"865.046.891","546.090",  "6 june 2023","6-6-2023"],
23+
24-
  [20230529,"860.775.006","541.323",  "29 may 2023","29-5-2023"],
24+
25-
  [20230524,"855.186.914","538.320",  "24 may 2023","24-5-2023"],
25+
26-
  [20230516,"852.533.427","534.558",  "16 may 2023","16-5-2023"],
26+
goal = 100000;
27-
  [20230422,"831.640.922","521.255",  "22 April 2023","22-4-2023"],
27+
const goal_date =  new Date("2023-08-4");
28-
  [20230414,"821.128.053","516.751",  "14 April 2023","14-4-2023"],
28+
29-
  [20230406,"813.500.370","513.097",  "6 April 2023","6-4-2023"],
29+
message_goal = " pókemon to catch and " ;
30-
  [20230402,"800.000.445","510.288",  "2 April 2023","2-4-2023"],
30+
message_goal_2 = " days before pókemon Go Fest London. Catch goal a day is: ";
31-
  [20230401,"798.480.895","510.000",  "1 April 2023","1-4-2023"],
31+
32-
  [20230317,"770.888.808","500.000",  "17 March 2023","17-3-2023"],
32+
33-
  [20230316,"769.436.948","499.371",  "16 March 2023","16-3-2023"],
33+
34-
  [20230315,"764.927.208","497.843",  "15 March 2023","15-3-2023"],
34+
35-
  [20230314,"762.750.318","497.549",  "14 March 2023","14-3-2023"],
35+
  var countsting1_s ;
36-
  [20230312,"756.657.930","495.399",  "12 March 2023","12-3-2023"],
36+
  countsting1_s = dates[0][2].replaceAll(".", "");
37-
  [20230309,"745.952.269","493.041",  "9 March 2023","9-3-2023"],
37+
  var xpIresult_s = Math.abs(countsting1_s - goal);
38-
  [20230308,"745.952.269","492.451",  "8 March 2023","8-3-2023"],
38+
  var strxpIresult_s = xpIresult_s.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
39-
  [20230302,"727.161.481","488.750",  "3 March 2023","2-3-2023"],
39+
  
40-
  [20230224,"700.001.048","482.054",  "24 February 2023","24-2-2023"],
40+
  var date_Str_s_s = dates[0][0].toString();
41-
  [20230223,"696.689.288","481.661",  "23 February 2023","23-2-2023"],
41+
  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);
42-
  [20230221,"687.381.368","480.250",  "21 February 2023","21-2-2023"],
42+
  Date_s = new Date(date_Str_s);
43-
  [20230216,"678.043.095","476.678",  "16 February 2023","16-2-2023"],
43+
  var Difference_In_Time = goal_date.getTime() - Date_s.getTime();
44-
  [20230207,"657.717.969","469.082",  "7 February 2023","7-2-2023"],
44+
  var Difference_In_Days = Math.ceil(Difference_In_Time / (1000 * 3600 * 24));
45-
  [20230202,"649.166.931","464.346",  "2 February 2023","2-2-2023"],
45+
  
46-
  [20230129,"640.126.801","461.050",  "29 January 2023","29-1-2023"],
46+
  var p_per_day =  Math.ceil(xpIresult_s / Difference_In_Days);
47-
  [20230127,"634.550.143","459.298",  "27 January 2023","27-1-2023"],
47+
  
48-
  [20230123,"625.419.044","456.323",  "23 January 2023","22-1-2023"], 
48+
  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' ;
49-
  [20230122,"625.001.189","455.724",  "22 January 2023","22-1-2023"],
49+
50-
  [20230121,"618.098.801","453.832",  "21 January 2023","21-1-2023"],
50+
51-
  [20230117,"611.712.926","451.533",  "17 January 2023","17-1-2023"],
51+
52-
  [20230114,"606.915.051","450.000",  "14 January 2023","14-1-2023"],
52+
53-
  [20230113,"604.654.064","449.033",  "13 January 2023","13-1-2023"],
53+
54-
  [20230111,"600.012.264","448.067",  "11 January 2023","11-1-2023"],
54+
55-
  [20230110,"594.890.943","447.824",  "10 January 2023","10-1-2023"],
55+
56-
  [20230107,"588.290.943","445.341",  "7 January 2023","7-1-2023"],
56+
57-
  [20230103,"579.420.623","442.897",  "3 January 2023","3-1-2023"],
57+
58-
  [20221231,"573.717.364","441.520",  "31 december 2022","31-12-2022"],
58+
59-
  [20221224,"561.297.654","437.787",  "24 december 2022","24-12-2022"],
59+
60-
  [20221217,"549.454.877","432.944",  "17 december 2022","17-12-2022"],
60+
61-
  [20221215,"546.606.622","431.594",  "15 december 2022","15-12-2022"],
61+
62-
  [20221212,"542.739.772","429.675",  "12 december 2022","12-12-2022"],
62+
63-
  [20221211,"541.115.962","429.003",  "11 december 2022","11-12-2022"],
63+
64-
  [20221201,"531.730.536","423.913",   "1 december 2022", "1-12-2022"],
64+
65-
  [20221128,"527.175.060","421.561",  "28 November 2022","28-11-2022"],
65+
66-
  [20221127,"523.358.680","420.622",  "27 November 2022","27-11-2022"],
66+
67-
  [20221126,"519.494.270","419.837",  "26 November 2022","26-11-2022"],
67+
68-
  [20221121,"517.506.849","417.538",  "21 November 2022","21-11-2022"],
68+
69-
  [20221114,"514.158.392","415.227",  "14 November 2022","14-11-2022"],
69+
70-
  [20221110,"511.527.778","412.218",  "10 November 2022","10-11-2022"],
70+
71-
  [20221108,"508.794.503","410.571",   "8 November 2022", "8-11-2022"],
71+
72-
  [20221105,"505.744.513","408.653",   "5 November 2022", "5-11-2022"],
72+
73-
  [20221031,"500.007.208","405.203",   "31 Oktober 2022","31-10-2022"],
73+
74-
  [20221020,"490.340.413","400.000",   "20 October 2022","20-10-2022"],
74+
75-
  [20221017,"486.430.211","398.075",   "17 October 2022","17-10-2022"],
75+
76-
  [20221012,"478.551.790","394.481",   "12 October 2022","12-10-2022"],
76+
77-
  [20221002,"468.731.478","388.412",    "2 October 2022", "2-10-2022"],
77+
78-
  [20220924,"463.865.718","384.043", "24 September 2022", "24-9-2022"],
78+
79-
  [20220905,"447.067.085","370.417",  "5 September 2022",  "5-9-2022"],
79+
		var RowI = 0;
80-
  [20220904,"445.448.705","369.688",  "4 September 2022",  "4-9-2022"]
80+
81
        {
82
          rdat = dates[i][0] ;
83
          if(rdat == search)
84
          {
85
            message = message_start + dates[i][1]+ message_middle_1 + dates[i][2] + message_middle_2 + dates[i][3]; 
86
			RowI = i;
87
            break;
88
          }
89
          if(rdat < search)
90-
let message;
90+
91
            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' ;
92
			RowI = i;
93
            break;
94-
  message = message_start + dates[0][1]+ message_middle_1 + dates[0][2] + message_middle_2 + dates[0][3];
94+
95
          if (i == dLen - 1)
96
          {
97
            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' ;
98
			RowI = i;
99
            break;
100
          }
101
        }
102
		  var countsting1_s2 ;
103
		  countsting1_s2 = dates[RowI][2].replaceAll(".", "");
104
		  var xpIresult_s2 = Math.abs(goal-countsting1_s2);
105
		  var strxpIresult_s2 = xpIresult_s2.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
106
		  
107
		  var date_Str_s_s2 = dates[RowI][0].toString();
108
		  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);
109
		  Date_s2 = new Date(date_Str_s2);
110
		  var Difference_In_Time2 = goal_date.getTime() - Date_s2.getTime();
111
		  var Difference_In_Days2 = Math.ceil(Difference_In_Time2 / (1000 * 3600 * 24));
112
		  
113
		   var p_per_day2 =  Math.ceil(xpIresult_s2 / Difference_In_Days2);
114
		  message =  message  + message_middle_p_3 + strxpIresult_s2 + message_goal + Difference_In_Days2 +  message_goal_2 + p_per_day2 + ' pókemon';
115
116
117
      }
118
      else
119
      {
120
        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' ;  
121
      }
122
    } 
123
    else
124
    {
125
      uq = q.toUpperCase();
126
      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' ;
127
      switch (uq) 
128
      {
129
        case "LIST": 
130
          let check;
131
          message = message_start + 'Last known dates: ';
132
          let sep = ' ';
133
          for (let i = 0; i < dLen; i++) 
134
          {
135
            check = message.length + dates[i][4].length;
136
            if(check >=400)
137
            {
138
              break;
139
            }
140
            message = message + sep + dates[i][4];
141
            sep = ', ';
142
          }
143
          break;
144
145
        case "LISTL": 
146
          let check3;
147
          message = message_start + 'Last known dates: ';
148
          let sep3 = ' ';
149
          for (let i = 0; i < dLen; i++) 
150
          {
151
            check3 = message.length + dates[i][4].length;
152
            if(check3 >=400)
153
            {
154
              break;
155
            }
156
            message = message + sep3 + dates[i][4];
157
            sep3 = ', ';
158
          }
159
          break;
160
161
        case "LISTF": 
162
          let check2;
163
          let sep2 = ' ';
164
          message = message_start + 'First known dates: ';
165
          for (let i = dLen-1; i > 1; i--) 
166
          {
167
            check2 = message.length + dates[i][4].length;
168
            if(check2 >=400)
169
            {
170
              break;
171
            }
172
            message = message + sep2 + dates[i][4];
173
            sep2 = ', ';
174
          }
175
          break;
176
177
178
        case "HELP": 
179
          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.'; 
180
          break; 
181
182
        case "ASK": 
183
          message =  '@iiamlaura can you show your XP and pokemon caught please :rolling_eyes: '; 
184
          break; 
185
186
       
187
        case "VERSION":
188
          message =  message_start + 'Vesion: ' + version + ' (' + createdt +') by ' + designer;
189
          break; 
190
191
      }
192
    } 
193
  } 
194
  else
195
  {
196
    day1t = teststring3.slice(0,PlaceSpace );
197
    var PlaceSepSM = day1t.indexOf("-"); 
198
    var PlaceSepMY = day1t.lastIndexOf("-"); 
199
    let caughtday1;
200
    let caughtxpy1;
201
    let displayday1;
202
    let msgday1;
203
    if(PlaceSepSM > 0)
204
    {
205
      dayte =  '0'+ teststring3.slice(0,PlaceSepSM);
206-
          message =  message_start + 'Type !xp for the last know xp.  Type !xp LISTL for a list of last know dates (max 400 positions). Type !xp LISTF for a list of first know dates (max 400 positions). Type !xp <date> for values on date. Type !xp <date><space><date> for comparison between 2 dates. Type !xp version for version data. !xp Milestones for milestone dates'; 
206+
207
      lengthS = PlaceSepMY- PlaceSepSM -1;
208
      if(lengthS >= 1)
209
      {  
210-
          message =  '@Jaytheunderdog can you show your XP please :rolling_eyes: '; 
210+
211
        var mntte   = '0'+ teststring3.substr(PlaceSepSM + 1, lengthS);
212
        mnt         = mntte.slice(-2);
213-
        case "PARTNER": 
213+
214-
          message =  '@JayTheUnderdog became twitch partner om the 30th august 2023'; 
214+
215
        search      = year + mnt + day ;
216
217-
        case "MILESTONES": 
217+
218-
          message =  '28-11-23: 10K Raids, 14-1-23:450K, 17-3-23: 500K , 23-5-23: Hit Legend, 15-6-23: 550K, 1-7-23: Hit Veteran, 10-8-23: Hit Veteran again, 15-8-23: Hit Expert, 28-8-23: Hit Legend again, 29-8-23:600K, 12-10-23:1B XP, 12-11-23: Hit Legend again, 7-1-24: 700K, 22-3-24: Hit Veteran again, 28-3-24: 750K, 18-6-24: 800K, 23-10-24: Hit Legend again,3-11-24: 850K, 3-3-25: 900K'; 
218+
219
        {
220
          rdat = dates[i][0] ;
221-
        case "MILESTCATCH": 
221+
222-
          message =  '20-10-22:400K, 28-11-23: 10K Raids, 14-1-23:450K, 17-3-23: 500K , 6-4-23: 10K Trash raids , 15-6-23: 550K, 29-8-23:600K, 12-10-23:1B XP, 7-1-24: 700K, 28-3-24: 750K, 18-6-24: 800K, 3-11-24: 850K, 3-3-25: 900K'; 
222+
223
          displayday1 = dates[i][3];
224
          blncont = 'first'; 
225-
        case "MILESTPVP": 
225+
226-
          message =  '23-5-23: Hit Legend, 1-7-23: Hit Veteran, 10-8-23: Hit Veteran again, 15-8-23: Hit Expert, 28-8-23: Hit Legend again, 12-11-23: Hit Legend again, 22-3-24: Hit Veteran again, 23-10-24: Hit Legend again, 31-1-25: Hit Legend again'; 
226+
227
            blncont = 'true';
228
            break;
229
          }
230
          if(rdat < search)
231
          {
232
            blncont     = 'closest';
233
            break;
234
          }
235
        }
236
        if(blncont == 'true')
237
        {
238
          msgday1 =  ' ';
239
        }
240
        if(blncont == 'closest')
241
        {
242
          msgday1 = 'No data has been found for the date ' + day1t + ' the closest earlier day is ' + displayday1 + '. ';
243
        }
244
        if(blncont == 'first')
245
        {
246
          msgday1 =   'No data has been found for the date ' + day1t + '.  First known date is ' + displayday1 + '. ';
247
        }
248
      }
249
      else
250
      {
251
        caughtday1  = dates[dLen-1][2];
252
        caughtxpy1  = dates[dLen-1][1];
253
        displayday1 = dates[dLen-1][3];
254
        msgday1 =   'No data has been found for the date ' + day1t + '.  First known date is ' + displayday1 + '. ';
255
        message = msgday1;
256
      }
257
    } 
258
    else
259
    {
260
      caughtday1  = dates[dLen-1][2];
261
      caughtxpy1  = dates[dLen-1][1];
262
      displayday1 = dates[dLen-1][3];
263
      msgday1 =   'No data has been found for the date ' + day1t + '.  First known date is ' + displayday1 + '. ';
264
265
    }   
266
    day2t = teststring3.slice(PlaceSpace+1 );
267
    var PlaceSepSM2 = day2t.indexOf("-"); 
268
    var PlaceSepMY2 = day2t.lastIndexOf("-"); 
269
    let search2;
270
    let msgday2;
271
    let blncont2   = false;
272
    let caughtday2;
273
    let caughtxpy2;
274
    let displayday2;
275
	var RowI3 = 0;
276
	
277
    if(PlaceSepSM2 > 0)
278
    {
279
      day2te =  '0'+ day2t.slice(0,PlaceSepSM2);
280
      day2 = day2te.slice(-2);
281
      lengthS2 =  PlaceSepMY2 - PlaceSepSM2-1 ;
282
      if(lengthS2 >= 1)
283
      {
284
        var mntte2     = '0'+ day2t.substr(PlaceSepSM2 + 1, lengthS2);
285
        mnt2           = mntte2.slice(-2);
286
        lengthS2       =  PlaceSepMY2;
287
        var year2      = day2t.substr(PlaceSepMY2+1, 4);
288
        search2        = year2 + mnt2 + day2 ;
289
        for (let i = 0; i < dLen; i++) 
290
        {
291
          rdat2 = dates[i][0] ;
292
          caughtday2  = dates[i][2];
293
          caughtxpy2  = dates[i][1];
294
          displayday2 = dates[i][3];
295
		  RowI3 = i;
296
          if(rdat2 == search2)
297
          {
298
            blncont2    = 'true';
299
300
            break;
301
          }
302
          else
303
          {
304
            if(rdat2 < search2)
305
            {
306
              blncont2     = 'closest';
307
              break;
308
            }
309
            else
310
            {
311
              caughtday2  = dates[0][2];
312
              caughtxpy2  = dates[0][1];
313
              displayday2 = dates[0][3];
314
              blncont2 = 'last'; 
315
			  			RowI3 = 0;
316
            }
317
          }
318
        }
319
        if(blncont2 == 'true')
320
        {
321
          msgday2 =  ' ';
322
        }
323
        if(blncont2 == 'closest')
324
        {
325
          msgday2 = 'No data has been found for the date ' + day2t + ' the closest earlier day is ' + displayday2 + '. ';
326
        }
327
        if(blncont2 == 'last')
328
        {
329
          msgday2 =   'No data has been found for the date ' + day2t + '. Last known date is ' + displayday2 + '. ';
330
        }
331
      }
332
      else
333
      {
334
        caughtday2  = dates[0][2];
335
        caughtxpy2  = dates[0][1];
336
        displayday2 = dates[0][3];
337
        msgday2 =   'No data has been found for the date ' + day2t + '. Last known  date is ' + displayday1 + '. ';
338
					RowI3 = 0;
339
      }
340
    }
341
    else
342
    {
343
      caughtday2  = dates[0][2];
344
      caughtxpy2  = dates[0][1];
345
      displayday2 = dates[0][3];
346
      msgday2 =   'No data has been found for the date ' + day2t + '. Last known  date is ' + displayday1 + '. ';
347
    }
348
    var countsting1 = caughtday1.replaceAll(".", "");
349
    var countsting2 = caughtday2.replaceAll(".", "");
350
    var intday1 = parseInt(countsting1); 
351
    var intday2 = parseInt(countsting2); 
352
    var Iresult = Math.abs(intday1 - intday2);
353
    var strIresult = Iresult.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
354
    var xpcountsting1 = caughtxpy1.replaceAll(".", "");
355
    var xpcountsting2 = caughtxpy2.replaceAll(".", "");
356
    var xpintday1 = parseInt(xpcountsting1); 
357
    var xpintday2 = parseInt(xpcountsting2); 
358
    var xpIresult = Math.abs(xpintday1 - xpintday2);
359
    var strxpIresult = xpIresult.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
360
   
361
   		  var countsting1_s3 ;
362
		  countsting1_s3 = dates[RowI3][2].replaceAll(".", "");
363
		  var xpIresult_s3 = Math.abs(goal-countsting1_s3);
364
		  var strxpIresult_s3 = xpIresult_s3.toLocaleString('nl-NL', { minimumFractionDigits: 0 });
365
		  
366
		  var date_Str_s_s3 = dates[RowI3][0].toString();
367
		  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);
368
		  Date_s3 = new Date(date_Str_s3);
369
		  var Difference_In_Time3 = goal_date.getTime() - Date_s3.getTime();
370
		  var Difference_In_Days3 = Math.ceil(Difference_In_Time3 / (1000 * 3600 * 24));
371
		  
372
		   var p_per_day3 =  Math.ceil(xpIresult_s3 / Difference_In_Days3);
373
		   
374
    message = message_start + msgday1 + msgday2 + strIresult + message_middle_p_1 + strxpIresult + message_middle_p_2 + displayday1 + message_middle_p_3 + displayday2;
375
		  message =  message + ". " + strxpIresult_s3 + message_goal + Difference_In_Days3 +  message_goal_2 + p_per_day3 + ' pókemon';
376
   
377
  }
378
}
379
message;