Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Script fail or just no slots being released now? #127

Closed
HKG2301 opened this issue Aug 17, 2021 · 26 comments
Closed

Script fail or just no slots being released now? #127

HKG2301 opened this issue Aug 17, 2021 · 26 comments

Comments

@HKG2301
Copy link

HKG2301 commented Aug 17, 2021

Seems the script is running fine but not identifying any dates at all. Also, @allmiqdates is showing the same: no slots available since 1511 today, NZ time.

Could be the system has been frozen due to the announced Level 4 lockdown in NZ, but last time this happened (both script fail and Twitter bot fail) it was due to a change in the MIQ web site that had to be corrected for by v10.0.

Any way to tell, @alexDrinkwater ?

@dacidre
Copy link

dacidre commented Aug 17, 2021

@HKG2301 Good to hear someone else is having same issues. The scripts are running for me but it doesn't seem to trigger the alerts anymore. Either empty slots are going so fast that we can't even detect it, or there's nothing available?

@cummins070
Copy link

I was getting a few last night (I'm in the US). I just had it set for all dates, assume it was picking up August spots. Even so, I was still too slow to secure one and I had the laptop right next to me. Go figure.

Also now seeing this fun little warning pop up. I mean WTF. Don't use a script. But feel free to sit at your laptop all hours of the day and night clicking the refresh button while trying to not go insane :|
image

@cmartin-kavlifoundation
Copy link

cmartin-kavlifoundation commented Aug 17, 2021

It looks like they are messing with the name of the class for the dates in an explicit attempt to block scripts like this one. For instance I now see the dates in the form:
div class="omsoms" 1="" aria-label="November 1" tabindex="-1"
where "omsoms" used to be something like "___item" which the code used to find the list of dates. I'm going to change my local source code to search for omsoms, but I'm betting they will change this string every so often (every hour, every login, every reload ??? not sure yet. I'll see if I can write some code to generalize and detect what the string each time the page reloads.

But more worrisome is that they seem to have decided that "automation" is against their rules whereas "refreshing the page" used to be explicitly allowed.

@roks0n
Copy link

roks0n commented Aug 17, 2021

Yes, the class names keep on changing. I haven't noticed it being based on some particular rule though, so I think it's changing just after some arbitrary time.

I've made a change locally in my own script and haven't noticed any new spot open up yet so I'm thinking they might have done a change to how the available date's div structure looks like as well.

I'll follow up on this when/if I notice the availability div element for a day changed or not.

@cmartin-kavlifoundation

Looking at the css and searching for "/assets/images/not-available.png" there appear to be 281 different class names they are alternating between, e.g. nicely named things like gqagqa and yw0yw0. I'm still trying to figure out what an available date will look like, but at least I know what unavailable ones look like (I feel like that calendar of x's will be burned into my retina for the rest of my life).

@HKG2301
Copy link
Author

HKG2301 commented Aug 17, 2021

I see the Twitter bot is working again, with dates listed at 0941 and 0955 NZT this morning, so they seem to have sussed the change.

@dacidre
Copy link

dacidre commented Aug 17, 2021

@HKG2301 Sorry can you explain what you mean by the twitter bot?

@cmartin-kavlifoundation

@HKG2301 Sorry can you explain what you mean by the twitter bot?

Check out: https://miqdates.com/ There are links to the twitter accounts there as well as a nice description of the statistics of the availability. The twitter bot was temporarily blocked by the change of the web page, but has developed a work-around.

@dacidre
Copy link

dacidre commented Aug 17, 2021

@HKG2301 Sorry can you explain what you mean by the twitter bot?

Check out: https://miqdates.com/ There are links to the twitter accounts there as well as a nice description of the statistics of the availability. The twitter bot was temporarily blocked by the change of the web page, but has developed a work-around.

Thanks Martin! Every little bit of info helps! Spent days getting these scripts up only to be thrown into despair again with this script change

@monagjr
Copy link
Contributor

monagjr commented Aug 17, 2021

hello everyone,
just created a pull request to make the tool works again with latest Aug 18th MIQ Updates
#128
can @alexDrinkwater or someone else from maintainers merge it?

I hope this helps more in this difficult situation of getting back to NZ

@mouarg
Copy link

mouarg commented Aug 18, 2021

Looking at the css and searching for "/assets/images/not-available.png" there appear to be 281 different class names they are alternating between, e.g. nicely named things like gqagqa and yw0yw0. I'm still trying to figure out what an available date will look like,

@cmartin-kavlifoundation - Yeah no hits whatsoever since around 8am this morning. Would be great if you could please share (when you figure it out) the change we can make on the .js file.

Cheers,

@cmartin-kavlifoundation

Looking at the css and searching for "/assets/images/not-available.png" there appear to be 281 different class names they are alternating between, e.g. nicely named things like gqagqa and yw0yw0. I'm still trying to figure out what an available date will look like,

@cmartin-kavlifoundation - Yeah no hits whatsoever since around 8am this morning. Would be great if you could please share (when you figure it out) the change we can make on the .js file.

Cheers,

I've been refreshing entirely by hand today since I didn't want to run afoul of the new "no automation" rule, and haven't been lucky enough to spot ANY of the handful of openings that have come up. So while I haven't been able to confirm the code that appears when a date is available, the patch that @monagjr has proposed looks like what I would expect based on the css files. So when I do start running the bot again, that is the code I intend to try. For the time being I'm going to keep running by hand and keep an eye out for an open spot. If anyone else happens to catch a glimpse of the div class line that represents an available slot, please go ahead and post the html source here.

Thanks!

@cummins070
Copy link

I'm now running the script directly with the patch from @monagjr

Will update if I find a slot!

Quick question (and this is probably a stupid question), but assuming the below myDates selects all months from August to December right?

// CHANGE DATES TO WHAT YOU ARE LOOKING FOR
let myDates = ['2021-08', '2021-09', '2021-10', '2021-11', '2021-12'];

@monagjr
Copy link
Contributor

monagjr commented Aug 18, 2021

2 have already confirmed the code updates #128 are working (monitoring, beeping, and clicking dates), hopefully we can get this merged soon along with building new releases.

@monagjr
Copy link
Contributor

monagjr commented Aug 18, 2021

Quick question (and this is probably a stupid question), but assuming the below myDates selects all months from August to December right?

// CHANGE DATES TO WHAT YOU ARE LOOKING FOR
let myDates = ['2021-08', '2021-09', '2021-10', '2021-11', '2021-12'];

@cummins070 I don't think so. I think "myDates" should have the full targeted dates (e.g 2021-08-18)

@monagjr
Copy link
Contributor

monagjr commented Aug 18, 2021

I'm now running the script directly with the patch from @monagjr

Will update if I find a slot!

Thanks @cummins070 , we would appreciate that

@cummins070
Copy link

cummins070 commented Aug 18, 2021

Quick question (and this is probably a stupid question), but assuming the below myDates selects all months from August to December right?
// CHANGE DATES TO WHAT YOU ARE LOOKING FOR
let myDates = ['2021-08', '2021-09', '2021-10', '2021-11', '2021-12'];

@cummins070 I don't think so. I think "myDates" should have the full targeted dates (e.g 2021-08-18)

Ah ok. I figured it was similar to how the program allows you add a month rather than a date. But I guess I'll just manually add all the dates just to be sure. Thanks!

Edit -> here are all the dates between now and the end of the year if anyone needs this hopefully it helps! I actually have just seen there's an option to just to find any date (as below). So I'll leave this on for the time being just to see if it does pick up a random date :)

// DON'T CARE ABOUT A SPECIFIC DATE? SET THIS TO TRUE
let findAnyDate = true;

['2021-08-18', '2021-08-19', '2021-08-20', '2021-08-21', '2021-08-22', '2021-08-23', '2021-08-24', '2021-08-25', '2021-08-26', '2021-08-27', '2021-08-28', '2021-08-29', '2021-08-30', '2021-08-31', '2021-09-01', '2021-09-02', '2021-09-03', '2021-09-04', '2021-09-05', '2021-09-06', '2021-09-07', '2021-09-08', '2021-09-09', '2021-09-10', '2021-09-11', '2021-09-12', '2021-09-13', '2021-09-14', '2021-09-15', '2021-09-16', '2021-09-17', '2021-09-18', '2021-09-19', '2021-09-20', '2021-09-21', '2021-09-22', '2021-09-23', '2021-09-24', '2021-09-25', '2021-09-26', '2021-09-27', '2021-09-28', '2021-09-29', '2021-09-30', '2021-10-01', '2021-10-02', '2021-10-03', '2021-10-04', '2021-10-05', '2021-10-06', '2021-10-07', '2021-10-08', '2021-10-09', '2021-10-10', '2021-10-11', '2021-10-12', '2021-10-13', '2021-10-14', '2021-10-15', '2021-10-16', '2021-10-17', '2021-10-18', '2021-10-19', '2021-10-20', '2021-10-21', '2021-10-22', '2021-10-23', '2021-10-24', '2021-10-25', '2021-10-26', '2021-10-27', '2021-10-28', '2021-10-29', '2021-10-30', '2021-10-31', '2021-11-01', '2021-11-02', '2021-11-03', '2021-11-04', '2021-11-05', '2021-11-06', '2021-11-07', '2021-11-08', '2021-11-09', '2021-11-10', '2021-11-11', '2021-11-12', '2021-11-13', '2021-11-14', '2021-11-15', '2021-11-16', '2021-11-17', '2021-11-18', '2021-11-19', '2021-11-20', '2021-11-21', '2021-11-22', '2021-11-23', '2021-11-24', '2021-11-25', '2021-11-26', '2021-11-27', '2021-11-28', '2021-11-29', '2021-11-30', '2021-12-01', '2021-12-02', '2021-12-03', '2021-12-04', '2021-12-05', '2021-12-06', '2021-12-07', '2021-12-08', '2021-12-09', '2021-12-10', '2021-12-11', '2021-12-12', '2021-12-13', '2021-12-14', '2021-12-15', '2021-12-16', '2021-12-17', '2021-12-18', '2021-12-19', '2021-12-20', '2021-12-21', '2021-12-22', '2021-12-23', '2021-12-24', '2021-12-25', '2021-12-26', '2021-12-27', '2021-12-28', '2021-12-29', '2021-12-30']

@cmartin-kavlifoundation
Copy link

cmartin-kavlifoundation commented Aug 18, 2021

Quick question (and this is probably a stupid question), but assuming the below myDates selects all months from August to December right?
// CHANGE DATES TO WHAT YOU ARE LOOKING FOR
let myDates = ['2021-08', '2021-09', '2021-10', '2021-11', '2021-12'];

My reading of the source code and past experience is that 2021-08 does in fact search for the entire month. I don't think it will hurt to specify the entire list of days in a month, but my understanding is that it is overkill.

Furthermore with findAnyDate=true the program will trigger on ANY date so the list of dates is irrelevant. You only need to set that if findAnyDate=false

@cummins070
Copy link

Quick question (and this is probably a stupid question), but assuming the below myDates selects all months from August to December right?
// CHANGE DATES TO WHAT YOU ARE LOOKING FOR
let myDates = ['2021-08', '2021-09', '2021-10', '2021-11', '2021-12'];

My reading of the source code and past experience is that 2021-08 does in fact search for the entire month. I don't think it will hurt to specify the entire list of days in a month, but my understanding is that it is overkill.

Furthermore with findAnyDate=true the program will trigger on ANY date so the list of dates is irrelevant. You only need to set that if findAnyDate=false

Makes sense thanks! @monagjr confirming the alert just worked for me. I reacted immediately and still missed out, as per usual 😛. I did get hit with the recaptcha images however. I might need to check out this nut-tree mentioned in the other thread. Seems like every second counts!

@mouarg
Copy link

mouarg commented Aug 18, 2021

I'm also trying @monagjr code but no beeps so far probably because my dates are mostly end Sep, Oct and Nov

@shrey91
Copy link

shrey91 commented Aug 19, 2021

@cmartin-kavlifoundation

Here is what a normal crossed out date looks like

<div class="y1gjiya">
	<div class="iyaiya" 3="" aria-label="September 24" tabindex="-1">24</div>
</div>

Available Date:

<div class="y1gjiya">
	<div class="" 3="" aria-label="September 24" tabindex="-1">24</div>
</div>

Selected Date:

<div class="y1gjiya">
	<div class="iya" 3="" aria-label="September 24" tabindex="-1">24</div>
</div>

@monagjr
Copy link
Contributor

monagjr commented Aug 19, 2021

@Saj22 and anyone else who needs ready-made pre-built version of the APP latest version (v0.10.4):

https://github.com/monagjr/miq-nz-booking-tools/releases/latest


https://www.buymeacoffee.com/mojr

@Saj22
Copy link

Saj22 commented Aug 19, 2021

Thanks @monagjr. Makes thing much easier! Do you have any idea how to get rid of the pesky recaptchas. I seem to only have ticks until dates become available and then I have to click on all these images. Arggggg.

@monagjr
Copy link
Contributor

monagjr commented Aug 19, 2021

Thanks @mouarg for your support. I appreciate it.

@jksmurf
Copy link

jksmurf commented Aug 22, 2021

@Saj22 and anyone else who needs ready-made pre-built version of the APP latest version (v0.10.4):

Hi monagjr, could I ask what the limitations of the "pre-built" version are please?

I ask as from here #108, TigaNZ said:

snip...

Also editing the MIQ-assistance.js to include your login details helps cut downtime.
Find it using windows search, look for the path which is similar to c:\users\appdata\local\miq_nz_booking_tools\app-0-10.3\resources\app
You can edit this in notepad, but notepad++ is free and very good for scripting.

snip...

I'm struggling a wee bit with this part (above). I have installed 10.4 (thanks to you), navigated to the MIQ-assistance.js file in the c:\users\appdata\local\miq_nz_booking_tools\app-0-10.4\resources\app directory, edited it by adding the required dates, set the dates option true to false to make it select the specific dates, edited my login/password but when I run it, none of the changes seems to stick.

When I go back in to the path again, and check the MIQ-assistance.js file it seems to have been overidden once again, by the default script. Is there something fundamental I am missing here please?

I also tried a 10.3-based version by mark-bloom that I downloaded a few days ago and this one seems to be able to be run and keep the edits (but is not up to date).

Can I assume the "pre-built" version assumes you add Dates/logins from the little popup window only?
Is there something I need to do to be able take advantage of editing the MIQ-assistance.js manually?

thank you

k.

@jvolker
Copy link
Owner

jvolker commented Aug 22, 2021

Fixed in the latest release: https://github.com/jvolker/miq-nz-booking-tools/releases/latest

Thanks to @monagjr and everyone else helping with this release.

@jvolker jvolker closed this as completed Aug 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests