🤖 Weekly Posted LinkedIn Jobs In Your Telegram. 🤖
- 🧐 About
- 🎥 Demo
- 💭 How the bot works
- 🎈 Usage
- 🚀 Deploying your own bot
- ⛏️ Built Using
- ✍️ Authors
- ✅ Todo
- 🎉 Acknowledgements
InJobBot automates job searching by scrapping Jobs posted on LinkedIn from the previous week and sends it in a telegram channel on schedule or by demand using a command in chat.
The bot scrapes LinkedIn jobs page and fetches job postings details eg. (Job Title, Company, Location, Job_link) and parses it then sends it in chat with inline buttons below the post for applying.
The bot uses the requests library to make the HTTP request to LinkedIn and BeautifulSoup to parse the returned request content and extract the job posting details from it.
The bot is written in Python 3.11, other dependencies are available in the requirements.txt
- Create a bot using BotFather :
To use the bot, You first need to create a telegram bot using the BotFather, you can follow this Wiki to do so How to Create A Telegram Bot With BotFather
- Create a .env file in the main directory and add your credentials :
Create a .env file and put the BOT_TOKEN
you got from the BotFather, and the CHANNEL_ID
to the channel the bot will post it (channel must be public and bot must be an admin), and the OWNER
(The Owner's Username), as the blow image demonstrate.
- Install prerequisites using the requirements.txt file. Navigate to the project directory and type the following command in the terminal :
pip install -r requirements.txt
- Run the bot :
python bot.py
- Type
/help
in chat to view available commands
🛑View the documentations for more details about the bot's commands.
You can deploy the bot after configuring it to any cloud hosting service, it's just like deploying a web app to the cloud.
You can follow this tutorial to host your bot on Pythonanywhere.
⚠ Make sure to install the dependencies on the cloud using
pip install -r requirements.txt
first before running the bot.
- pyTelegramBotAPI - Python Telegram API Wrapper.
- requests - Python HTTP library.
- BeautifulSoup - Python Screen-scraping library
- SQLite - SQL database engine.
- @Hossam - Idea & Initial work.
- Make the scrapper asynchronous using httpx.
- Implement AsyncTeleBot.
- Improve the database tables's schema.
- Improve the Group's allow list commands.
- Database command pattern implementations.
- Practices of the python pro - Book.
- Github REPO - Actual code examples from the book.
- How do I insert record only if the record doesn't exist? - SQLite INSERT OR IGNORE INTO
- pyTelegramBotAPI Telegram Group Chat - Creating the bot.