A Discord bot to help chronic Discord users find software engineering internships and opportunities. This bot pulls job postings from multiple sources periodically and sends messsages when new postings are found. Previous job postings can also be queried.
Configurable scrapers are periodically ran and sends messages of new postings.
The bot can easily add new scraper modules for new sites. New scrapers must follow the base class defined in scrapers/base.py.
You can query the previously-scraped job postings from the bot with the following command:
Command Usage:
!job [OPTIONS]
Options:
--time <days> Filter jobs scraped within the last <days> days
--company <name> Filter by company name
--role <keyword> Filter by role/title
--city <city> Filter by city
--state <state> Filter by state
--level <level> Filter by experience level
--source <source> Filter by scrape source
--count <number> Limit the number of results returned
- Python 3.13+
- A Discord bot token
pip(Python package manager)
Clone the repository and install dependencies:
git clone https://github.com/jaydent4/JobBot.git
cd JobBot
pip install -r requirements.txt- Create a Discord application at the https://discord.com/developers/applications
- Add a Bot to the application and copy the discord bot token.
- Invite the bot to your server with the appropriate permissions (at minimum: Read Messages and Send Messages).
- Create a
.envfile in the main project directory with the lineDISCORD_TOKEN=your_bot_token_here
Run the following command:
python main.py
- Scrapers depend on third-party site HTML and may break if layouts change
- Job deduplication is best-effort
- Rate limits are enforced by source sites