Logo Lanfrica

OsamaMohammed3332/job-bot

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Osa
Hôte:
Telegram bot posting LinkedIn + remote jobs (Egypt & worldwide) # Telegram Job Bot Posts new LinkedIn jobs (Egypt + remote worldwide) to a Telegram channel, DMs you filtered alerts, and answers `/search` on demand. ~~~ Software Engineer ll - Flutter 🏢 talabat 📍 Dubai, Dubai, United Arab Emirates 🕒 6 minutes ago 📌 via LinkedIn ➡️ Apply Here ~~~ ## Setup 1. **Create the bot** — message @BotFather, send `/newbot`, copy the token. 2. **Create a channel** — add your bot as an Administrator with **Post Messages**. Public channel ID is `@yourchannel`; for a private one, forward a message to @userinfobot to get the `-100...` id. 3. **Secrets** — Settings → Secrets and variables → Actions: - `BOT_TOKEN` — the BotFather token - `CHANNEL_ID` — `@yourchannel` or `-100...` (skip for DM-only) 4. **Permissions** — Settings → Actions → General → Workflow permissions → **Read and write**. Without this the bot cannot save `state.json` and will re-post the same jobs every run. 5. **Run it** — Actions → Job Bot → Run workflow. After that it runs itself every 10 minutes, around the clock. 6. **Subscribe** — message your bot `/start`. ## Commands | Command | What it does | |---|---| | `/start` | Subscribe to DM alerts | | `/stop` | Unsubscribe | | `/keywords python, flutter` | Only DM jobs matching these words | | `/keywords clear` | Remove the keyword filter | | `/locations egypt, remote` | Only DM jobs in these places | | `/status` | Show your current filters | | `/search flutter egypt` | Search right now | On GitHub Actions, commands are answered on the next cron run (up to ~10 min). In `serve` mode they are answered in about 3 seconds. ## Tuning Everything lives in **`config.yaml`**, which is commented throughout. - **Too few jobs?** Loosen or empty `filters.title_must_include`. - **Too much noise?** Add words to `title_must_not_include`. - **Different roles?** Edit the `searches` list. - **Junior only?** Add `exp: [1, 2, 3]` to a search entry. - **Rate-limited a lot?** You have too many searches. Cut the list to the 6-8 that matter. T …