Class Attendee Action
Tags: actionshackathon, githunt
Published: 2020-09-17 15:39:27

[Instructions]: # (To submit to the GitHub Actions x DEV Hackathon, please fill out all sections.)


### My Workflow
[Note]: # (Make sure to include the name of your GitHub Action and share where it's being used!)
I have made a GitHub Action named 'Class Attendee' for helping me to get over those boring 'OOPS' classes hosted by my university on Google Meet.

With ease:

  - Set a scheduled time for your classes.
  - Manage your time and learn concepts at your own pace
  - Make sure that you're never short on your college attendance.

```P.S. OOPS or any other university course is an important part of the curriculum and you should never skip it. My only intention with this action is to be able to understand and grasp these concepts by actually implementing them on my own, a practice which I'm not able to follow while attending my University Classes.```

### Submission Category: 
**Wacky Wildcards**
[Note]: # (Maintainer Must-Haves, DIY Deployments, Interesting IoT, Phone Friendly, or Wacky Wildcards)


### SECRETS

  Make sure to add 3 secrets in your project, by going to 
  
  <pre><b>Project Settings > Secrets > New Secret.</b></pre>

  The Format for these 3 secrets is as below :

* <mark><b>USER_EMAIL</b></mark>  :  Contains Your Google Account Email Address

* <mark><b>USER_PASSWORD</b></mark>  :  Contains Your Google Account Password

* <mark><b>MEET_LINK</b></mark>  :  The Link for the Google Meet you'd like to join.

### Yaml File or Link to Code

Example Workflow file

An example workflow to set up your class attender action quickly.

```yaml
name: Class Attender

on:
  # Set the time here
  schedule:
    - cron: "0 11 * * *" # 11 AM Every Morning

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.7]

    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}

      - name: Setup Chromedriver
        uses: nanasess/setup-chromedriver@master
      - run: |
          export DISPLAY=:99
          chromedriver --url-base=/wd/hub &
          sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install selenium pyvirtualdisplay pause

      - name: RUN
        run: |
          python ./script.py ${{ secrets.USER_EMAIL }} ${{ secrets.USER_PASSWORD }} ${{ secrets.MEET_LINK }}

```

[Note]: # (Our markdown editor supports pretty embeds. Try this syntax: `{% github link_to_your_repo %}` to share a GitHub repository)

{% github https://github.com/ishandeveloper/Class-Attendee-Action %}

### Additional Resources / Info

This action uses following open-source actions under the hood to set up things easily.

{% github https://github.com/nanasess/setup-chromedriver %}


[Note]: # (Be sure to include the DEV usernames of your collaborators, if any. )

[Reminder]: # (Submissions are due on September 12th (11:59 PM PDT) and winners will be announced on September 23!)


Made with ♥ by <a href="https://github.com/ishandeveloper">ishandeveloper</a>