Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- SHIFTS PLUGIN
- use1: shift @Stainsycle // today
- use2: shift @Stainsycle 2/6 // shift on 2nd of June
- use2: shift @Stainsycle 12/6/2019 // shift on 12nd of June 2019
- */
- class Shifts {
- constructor(apiGW){
- this.apiGW = apiGW;
- apiGW.steamChat.on("chatCommand", async (event) => {
- if(event.command != "shift")
- return;
- await this.getShift(event);
- event.setAsHandled();
- });
- }
- async getShift(ev){
- const remindRegEx = /^(@Stainsycle).?([0-9]{1,2}.[0-9]{1,2})?((?:.2019)|(?:.2020))?$/;
- let object = [];
- object[0] = ev.groupName;
- object[1] = ev.roomName;
- let reRes = remindRegEx.exec(ev.argument);
- let date = new Date();
- let a = 0;
- if(reRes[2]!=null){
- a = reRes[2].split("/");
- a[1] = Number(a[1])-1;
- date = new Date((reRes[3]==null)?date.getFullYear():reRes[3].slice(1,5), a[1], a[0]);
- }
- let start = new Date(2019, 7, 1, 1, 0, 0);
- let diff = Math.floor((date.getTime()-start.getTime())/(1000*3600*24), 0);
- if(a != 0) diff++;
- diff = diff % 10;
- switch(diff){
- case 0: await ev.sendResponse("Ranni 6:00-16:00 1/2"); break;
- case 1: await ev.sendResponse("Ranni 6:00-16:00 2/2"); break;
- case 2: await ev.sendResponse("Odpoledni 14:00-24:00 1/2"); break;
- case 3: await ev.sendResponse("Odpoledni 14:00-24:00 2/2"); break;
- case 4: await ev.sendResponse("Nocni 22:00-00:00 1/2"); break;
- case 5: await ev.sendResponse("Nocni 00:00-08:00 a 22:00-00:00"); break;
- case 6: await ev.sendResponse("Nocni 00:00-08:00"); break;
- case 7: await ev.sendResponse("Volno 2/4"); break;
- case 8: await ev.sendResponse("Volno 3/4"); break;
- case 9: await ev.sendResponse("Volno 4/4"); break;
- }
- }
- }
- module.exports = Shifts;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement