____ ** ** * * * *___ ___ _____
/ ___| | \/ | / \ | | | | | __ ) / * \* _|
\___ \ | |\/| | / * \ | | | | | * \| | | || |
___) | | | | |/ ___ \| |___| |___| |_) | |_| || |
|____/ |_| |_/_/ \_\_____|_____|____/ \___/ |_|
WeChat Job Bot is an automated tool designed to share the latest internship and new graduate job opportunities in WeChat groups. The bot periodically fetches the latest job openings from specified sources and sends them to configured WeChat groups.
- Automatic Job Fetching: Regularly retrieves the latest internship and new graduate job postings from specified sources.
- Smart Filtering: Automatically filters out closed job applications.
- Information Annotation: Adds special annotations for positions that don't offer visa sponsorship or require U.S. citizenship.
- Scheduled Sending: Sends new job information to designated WeChat groups at configured intervals.
- Manual Trigger: Allows manual triggering of job information updates by sending specific commands in the group.
- Room-Specific Memory: Maintains separate job history for each WeChat group, ensuring newly added rooms don't miss out on previous job posts.
- Daily Summary: Provides a daily summary of all job postings for each job type.
- Modular Design: Supports easy addition of new job providers through a modular architecture.
- Google Sheets Integration: Allows backing up job data to Google Sheets (optional plugin).
- Advanced Filtering: Allow users to set more filtering conditions, such as company, job type, etc.
- Personalized Push: Push job information based on user interests and skill match.
- Admin User: Add admin users who can use super commands without restarting the bot.
- Auto Update: Add automatic checking for bot updates and update without manual server operations.
- Multi-language Support: Extend support for multiple languages in job postings and bot interactions.
- Analytics Dashboard: Implement a web dashboard for viewing job posting statistics and bot performance.
- Support Plugin: allow adding plugin to this bot.
The project is configured using the jobWxBotConfig
section in package.json
. Here are the main configuration items:
"jobWxBotConfig": {
"maxDays": 2,
"jobsPerMessage": 3,
"minsCheckInterval": 5,
"rooms": [
"TestBot"
],
"googleSheet": false
}
maxDays
: Number of recent days to fetch job postings for (default: 2 days)jobsPerMessage
: Maximum number of jobs to include in each message (default: 3)minsCheckInterval
: Time interval for checking new jobs, in minutes (default: 5 minutes)rooms
: List of WeChat group names to send job information togoogleSheet
: Enable or disable the Google Sheets plugin (default: false)
-
Clone the repository:
git clone https://github.com/your-username/wechat-job-bot.git
-
Navigate to the project directory:
cd wechat-job-bot
-
Install dependencies:
yarn
-
Configure
jobWxBotConfig
inpackage.json
according to your needs. -
Start the bot:
yarn start
-
Scan the displayed QR code to log into WeChat.
-
The bot will automatically start sharing job information in the configured groups.
@BOT intern
: Get new intern job postings@BOT ng
: Get new graduate job postings@BOT help
: Show all available commands@BOT intern-daily
: Get a summary of internship positions posted in the last 24 hours@BOT ng-daily
: Get a summary of new graduate positions posted in the last 24 hours@BOT add-this
: Add the current room to the bot's target list (admin only)@BOT sheet
: Trigger a backup of the current job data to the configured Google Sheet (requires Google Sheets plugin)
The WeChat Job Bot now supports backing up job data to Google Sheets. This feature can be enabled through the configuration in package.json
.
To enable the Google Sheets plugin, set the googleSheet
option to true
in the jobWxBotConfig
section of your package.json
:
"jobWxBotConfig": {
...
"googleSheet": true
}
The Google Sheets plugin requires the following environment variables:
GOOGLE_SERVICE_ACCOUNT_EMAIL
: The email address of your Google Service AccountGOOGLE_PRIVATE_KEY
: The private key of your Google Service AccountGOOGLE_SHEET_ID
: The ID of the Google Sheet where data will be backed up
Make sure to set these environment variables before running the bot.
- Create a Google Cloud Project and enable the Google Sheets API.
- Create a Service Account and download the JSON key file.
- Create a new Google Sheet and share it with the email address of your Service Account.
- Set the required environment variables:
export GOOGLE_SERVICE_ACCOUNT_EMAIL='your-service-account@your-project.iam.gserviceaccount.com' export GOOGLE_PRIVATE_KEY='-----BEGIN PRIVATE KEY-----\nYour Private Key Here\n-----END PRIVATE KEY-----\n' export GOOGLE_SHEET_ID='your-google-sheet-id'
- Enable the plugin in
package.json
by setting"googleSheet": true
.
Now, when you run the bot, it will be able to backup job data to your Google Sheet when the @BOT sheet
command is used.
We welcome contributions to improve this project! If you're interested in adding new features, fixing bugs, or enhancing the bot in any way, please check out our CONTRIBUTING.md file. It contains detailed information on how to contribute, including how to add new job providers.
If you have any suggestions or find a bug, please create an issue.
This project is licensed under the MIT License - see the LICENSE file for details.