-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
time_work.mjs
136 lines (129 loc) · 4.81 KB
/
time_work.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
import axios from "axios";
function sleep(ms){
return new Promise(resolve => setTimeout(resolve, ms));
}
async function get_current_time_api(zone="utc"){
if (zone === "utc"){
const response = await axios.get(
"https://worldtimeapi.org/api/timezone/Etc/UTC",
);
return response.data.utc_datetime;
}
}
const psg_input_await = {
1:20000,
2:20000,
3:25000,
4:25000,
5:30000,
6:30000,
}
async function psg_input_wait(psg_count){
const sleep_time = psg_input_await[psg_count];
console.log(`Sleeping for ${sleep_time * 0.001} seconds for passenger details input.`);
await sleep(sleep_time);
}
async function sleep_for_login(ticket_time){
if (ticket_time === 1){
const date_time_string = await get_current_time_api();
const currentTime = new Date(date_time_string);
const targetTime = new Date(currentTime);
targetTime.setUTCHours(4, 28, 0, 0);
if (currentTime < targetTime) {
const balance_time = targetTime - currentTime;
console.log(`${balance_time} milliseconds left for login.\nSleeping for ${balance_time * 0.001} seconds to proceed for login.`);
await sleep(balance_time);
return "Proceeding to Login";
}
else{
return "No Sleep Required";
}
}
else if (ticket_time === 2){
const date_time_string = await get_current_time_api();
const currentTime = new Date(date_time_string);
let targetTime = new Date(currentTime);
targetTime.setUTCHours(5, 28, 0, 0);
if (currentTime < targetTime) {
const balance_time = targetTime - currentTime;
console.log(`${balance_time} milliseconds left for login.\nSleeping for ${balance_time * 0.001} seconds to proceed for login.`);
await sleep(balance_time);
return "Proceeding to Login";
}
else{
return "No Sleep Required";
}
}
else{
return "No Sleep Required";
}
}
async function sleep_for_availability_check(ticket_time){
if (ticket_time === 1){
const date_time_string = await get_current_time_api();
const currentTime = new Date(date_time_string);
let targetTime = new Date(currentTime);
targetTime.setUTCHours(4, 30, 1, 0);
if (currentTime < targetTime) {
const balance_time = targetTime - currentTime;
console.log(`${balance_time} milliseconds left for availability check.\nSleeping for ${balance_time * 0.001} seconds to proceed for availability check.`);
await sleep(balance_time);
return "Proceeding to Check Availability";
}
else{
return "No Sleep Required";
}
}
else if (ticket_time === 2){
const date_time_string = await get_current_time_api();
const currentTime = new Date(date_time_string);
let targetTime = new Date(currentTime);
targetTime.setUTCHours(5, 30, 1, 0);
if (currentTime < targetTime) {
const balance_time = targetTime - currentTime;
console.log(`${balance_time} milliseconds left for availability check.\nSleeping for ${balance_time * 0.001} seconds to proceed for availability check.`);
await sleep(balance_time);
return "Proceeding to Check Availability";
}
else{
return "No Sleep Required";
}
}
else{
return "No Sleep Required";
}
}
async function start_before_3_minutes(ticket_time){
if (ticket_time === 1) {
const date_time_string = await get_current_time_api();
const currentTime = new Date(date_time_string);
let targetTime = new Date(currentTime);
targetTime.setUTCHours(4, 27, 0, 0);
let stoptime = new Date(currentTime);
stoptime.setUTCHours(18, 30, 0, 0);
if (currentTime < targetTime || currentTime > stoptime) {
throw new Error("Please Start the booking after 09:57:00.000 AM IST");
}
else{
return "Proceeding to Book Tickets";
}
}
else if (ticket_time === 2) {
const date_time_string = await get_current_time_api();
const currentTime = new Date(date_time_string);
let targetTime = new Date(currentTime);
targetTime.setUTCHours(5, 27, 0, 0);
let stoptime = new Date(currentTime);
stoptime.setUTCHours(18, 30, 0, 0);
if (currentTime < targetTime || currentTime > stoptime) {
throw new Error("Please Start the booking after 10:57:00.000 AM IST");
}
else{
return "Proceeding to Book Tickets";
}
}
else{
return "Proceeding to Book Tickets";
}
}
export {sleep, psg_input_wait, sleep_for_login, sleep_for_availability_check, start_before_3_minutes,get_current_time_api};