auto food ordering
// ==UserScript==
// @name Magic for SED
// @namespace http://tampermonkey.net/
// @version 2024-09-04
// @description auto food ordering
// @author You
// @match https://www.whyq.sg/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=whyq.sg
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Create the button element
const button = document.createElement('button');
button.innerText = 'Random';
button.id = 'floatingButton';
// Style the button
const style = document.createElement('style');
style.innerHTML = `
#floatingButton {
position: fixed;
top: 10px;
right: 10px;
z-index: 1000;
padding: 10px 20px;
background-color: #007BFF;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
#floatingButton:hover {
background-color: #0056b3;
}
`;
// Append the button and style to the document
document.head.appendChild(style);
document.body.appendChild(button);
function getTwoRandomNumbers(upper) {
const random = () => Math.floor(upper * Math.random());
const first = random();
while (true) {
const second = random();
if (first !== second) {
return [first, second];
}
}
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
// Add click event listener to the button
button.addEventListener('click', async () => {
const tabs = [...document.querySelector('.owl-stage-outer').querySelectorAll('.owl-item')];
for (let t = 0; t < tabs.length; t ++) {
tabs[t].querySelector('.meal_date_change').click();
const meals = [...document.querySelector('.rakuten_meal_list.active').querySelectorAll('ul')]
.filter(x => !(x.className.includes('cat-481') || x.className.includes('cat-2')));
const [first, second] = getTwoRandomNumbers(meals.length);
meals[first].querySelector('button').click();
while (true) {
await sleep(500);
const choose_optional = document.querySelector('#choose_optional');
if (choose_optional.style.display === 'block') {
const button = document.querySelector('#add_optional');
button.click();
break;
}
}
meals[second].querySelector('button').click();
while (true) {
await sleep(500);
const popup = document.querySelector('#pop_notify');
if (popup.style.display === 'block') {
popup.querySelector('button').click();
break;
}
}
while (true) {
await sleep(500);
const popup = document.querySelector('#pop_notify');
if (popup.style.display === 'none') {
break;
}
}
}
});
})();