UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses.

Overview

UdemyPy

UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses.

How does it work?

For publishing new courses, UdemyPy follows these steps:

  1. UdemyPy looks for courses at Discudemy, UdemyFreebies and TutorialBar.
  2. The courses found are compared to those previously found. A new_courses list is generated and stored into the database.
  3. new_courses are sent to Free Courses.

This process is run hourly, everyday.

How are repeated courses detected?

Since UdemyPy scrapes different websites constantly, it must remember which courses have already been shared to Free Courses.
Every hour UdemyPy gets a list of free Udemy courses: courses_found. This list contains courses which haven't been shared yet and courses that have.
For each course in courses_found, UdemyPy tries to add it to the database. If it fails, the course is already in the database (therefore the course has already been shared). If it success, the course is stored in a new_courses list.
Finally, the new_courses list is sent to Free Courses.

Enviroment Variables

FILE: udemypy/udemy/bot_settings.py

PAGES_TO_SCRAPE: number of pages to scrape from Discudemy, UdemyFreebies and TutorialBar.

FILE: udemypy/tgm/tgm_data.py

TOKEN: token to establish connection with the Telegram bot.
CHANNEL_LINK: link shown when user click the share button from a Telegram message sent by UdemyPy.

FILE: udemypy/database/db_data.py

COURSE_LIFETIME: days a course will be stored in the database
TABLE_NAME: name of the table where courses are stored
You might also like...
AKSWINPOSTINIT -- AKS Windows node post provisioning initialization

AKSWINPOSTINIT -- AKS Windows node post provisioning initialization Features This is a tool that provides one-time powershell script initilization for

an opensourced roblox group finder writen in python 100% free and virus-free

Roblox-Group-Finder an opensourced roblox group finder writen in python 100% free and virus-free note : if you don't want install python or just use w

Gba-free-fonts - Free font resources for GBA game development
Gba-free-fonts - Free font resources for GBA game development

gba-free-fonts Free font resources for GBA game development This repo contains m

Extend the maya channel box with searchability and colour
Extend the maya channel box with searchability and colour

channel-box-plus will add search-ability over its attributes, and it will colour user defined attributes, making them easier to distinguish.

Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators
Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators

Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators. Install

Allows you to purge all reply comments left by a user on a YouTube channel or video.
Allows you to purge all reply comments left by a user on a YouTube channel or video.

YouTube Spammer Purge Allows you to purge all reply comments left by a user on a YouTube channel or video. Purpose Recently, there has been a massive

Youtube Channel Website

Videos-By-Sanjeevi Youtube Channel Website YouTube Channel Website Features: Free Hosting using GitHub Pages and open-source code base in GitHub. It c

My sister is a GR of her class. She had to mark attendance of students from screenshots of teams meeting on an excel sheet. I resolved her problem by reading names from screenshots using PyTesseract and marking them present on the excel using Pandas in Python. It took me 1hr to write the code and it is saving half an hour everyday.
Secret santa is a fun and easy way to get together with your friends and/or family with a gift for them.

Secret Santa What is Secret Santa? Secret santa is a fun and easy way to get together with your friends and/or family with a gift for them. The idea i

Comments
  • Improve performance and code structure

    Improve performance and code structure

    • Update database structure
      • Add more attributes to course table
      • Create social_media table
      • Create course_social_media table
    • Add new sql scripts
    • Update _set_variables_value() from udemypy/database/script.py
    • Add new functions to udemypy/database/database.py for handling new database structure
    • Combine course.Course with course.CourseWithStats
    • Separate finding courses from sending courses (See udemypy/find_courses.py and udemypy/send_courses.py)
    opened by dylannalex 1
  • Please Help

    Please Help

    I am a beginner, and I want to use your udemypy on windows to feed my website with free udemy course coupons. if possible, you can provide me with an installation and usage guide to take advantage of your application. thank you in advance. When I use it I get the following error: mysql.connector.errors.ProgrammingError: 1045 (28000): Accès refusé pour l'utilisateur: ''@'@localhost' (mot de passe: NON)

    help wanted 
    opened by Optemax 3
  • error

    error

    i am trying to use your service but getting this error

    PS C:\Users\Hp\Downloads\Compressed\udemypy-main\udemypy-main\udemypy> python udemypy.find_courses.py C:\Users\Hp\AppData\Local\Programs\Python\Python310\python.exe: can't open file 'C:\Users\Hp\Downloads\Compressed\udemypy-main\udemypy-main\udemypy\udemypy.find_courses.py': [Errno 2] No such file or directory PS C:\Users\Hp\Downloads\Compressed\udemypy-main\udemypy-main\udemypy> python find_courses.py Traceback (most recent call last): File "C:\Users\Hp\Downloads\Compressed\udemypy-main\udemypy-main\udemypy\find_courses.py", line 1, in from udemypy import course ModuleNotFoundError: No module named 'udemypy' PS C:\Users\Hp\Downloads\Compressed\udemypy-main\udemypy-main\udemypy> pip install udemypy ERROR: Could not find a version that satisfies the requirement udemypy (from versions: none) ERROR: No matching distribution found for udemypy PS C:\Users\Hp\Downloads\Compressed\udemypy-main\udemypy-main\udemypy>

    opened by jaan143 0
Owner
null
A desktop app to check the unlocked courses bases on previously done courses.

Course Picker A desktop app to check the unlocked courses bases on previously done courses. Table of contents About the Project Built with What it doe

Ahmed Symum Swapno 3 Feb 7, 2022
Donatus Prince 6 Feb 25, 2022
To check my COVID-19 vaccine appointment, I wrote an infinite loop that sends me a Whatsapp message hourly using Twilio and Selenium. It works on my Raspberry Pi computer.

COVID-19_vaccine_appointment To check my COVID-19 vaccine appointment, I wrote an infinite loop that sends me a Whatsapp message hourly using Twilio a

Ayyuce Demirbas 24 Dec 17, 2022
✨ Udemy Coupon Finder For Discord. Supports Turkish & English Language.

Udemy Course Finder Bot | Udemy Kupon Bulucu Botu This bot finds new udemy coupons and sends to the channel. Before Setup You must have python >= 3.6

Penguen 4 May 4, 2022
a bit of my project :) and I use some of them for my school lesson or study for an exam! but some of them just for myself.

Handy Project a bit of my project :) and I use some of them for my school lesson or study for an exam! but some of them just for myself. the handy pro

amirkasra esmaeilian 13 Jul 5, 2021
A script to automatically update bot status at GitHub as well as in Telegram channel.

A simple & short repository to show your bot's status in your GitHub README.md file as well as in you channel.

Jainam Oswal 55 Dec 13, 2022
On this repo, you'll find every codes I made during my NSI classes (informatical courses)

??‍?? ??‍?? school-codes On this repo, you'll find every codes I made during my NSI classes (informatical courses) French for now since this repo is d

EDM 1.15 3 Dec 17, 2022
Video Stream is an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat

Video Stream is an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat ?? Stats ?? Get SESSION_NAME from below:

dark phoenix 12 May 8, 2022
BlackMamba is a multi client C2/post exploitation framework

BlackMamba is a multi client C2/post exploitation framework with some spyware features. Powered by Python 3.8.6 and QT Framework.

Gustavo 873 Dec 29, 2022
An application to see if your Ethereum staking validator(s) are members of the current or next post-Altair sync committees.

eth_sync_committee.py Since the Altair upgrade, 512 validators are randomly chosen every 256 epochs (~27 hours) to form a sync committee. Validators i

null 4 Oct 27, 2022