Skip to content

webscrapes a booking shift webpage using selenium and sends a notification of available shifts in a text channel via discord bot

Notifications You must be signed in to change notification settings

danialjivraj/booking-shift-webscraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

booking-shift-webscraper

Jen

Jen is a Discord bot that collects web-scraped data from a booking shift webpage using Selenium.
This data is then transmitted as notifications detailing available shifts/booked days to a designated text channel on Discord.
The script offers flexibility through a set of boolean flags that allow the user to specifically choose their preferred settings.

Webscraped Website

This website operates on a first-come, first-served basis for booking shifts.
Reserved shifts can be canceled up to two days before the shift.
However, if a particular day and shift are fully booked and someone cancels, the newly available shift isn't automatically made known to everyone.

Website Preview

Available Shifts Preview

Clicking on a day with available shifts

Booked Shifts Preview

Clicking on a day which has been booked

Shift Booking Process

Script Features

  • Shift Availability Notification
    • Notifies users in real-time about available and booked shifts on specified days, as well as having the ability to look for specific shifts, for example "10:00 - 18:00" on a Saturday.
  • Automatic Booking
    • Can automatically book desired shifts based on predefined script selection.
  • Shift Filtering
    • Filters shifts based on specific days and shifts, allowing users to focus on preferred time slots.
  • User Interaction
    • Listens to the script commands entered by the user in a Discord channel and runs the program accordingly.
  • Discord Embed Messages
    • Sends formatted Discord embed messages containing shift details and clickable links for quick action.

Dependencies

  • discord.py
pip install discord.py
  • selenium
pip install selenium
  • python-dotenv
pip install python-dotenv

Chrome Driver

The latest version of Chrome Driver is needed.
The path needs to be set up properly in chromeDriverMode.py.

Commands

  • f: Filter available and booked shifts and send both booked and available days.
  • fa: Filter available shifts only and send available days only (no booked days).
  • af: Automatically book desired shifts, filter available and booked shifts.
  • afa: Automatically book desired shifts, filter available shifts only (no booked days).
  • afb: Automatically book desired shifts, filter booked days only (no available days).
  • a: All available and booked shifts and send both booked and available days.
  • aa: All available days and send only available days (no booked days).
  • a a: Automatically book desired shifts, all available and booked shifts.
  • a aa: Automatically book desired shifts, all available shifts only (no booked days).
  • a ab: Automatically book desired shifts, all booked days only (no available days).
  • b: Retrieve booked days only (loops once).
  • s: Stop the bot and halt all executions.

Preview

image image image image image

About

webscrapes a booking shift webpage using selenium and sends a notification of available shifts in a text channel via discord bot

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages