Skip to content

Guide · Open source

How to use EverydayWechat: setup, config and scheduled messages

Updated · written with AI from the project's own documentation and checked against our catalogue data

EverydayWechat is an open-source Python 3 script built on the itchat library. It logs into WeChat's web version, sends scheduled messages such as weather, a daily quote or a calendar note, and can auto-reply to friends' text messages using a chatbot service you choose. This guide is for readers comfortable with a command line and a YAML file, and it shows how to clone the project, configure it and test safely before using it with real contacts.

EverydayWechatsfyc23/EverydayWechat · ★ 10.3k · MIT

Quick start

  1. 1Confirm web WeChat login works. Check that your WeChat account can log into wx.qq.com. If it cannot, the README says the project will not work.
  2. 2Clone the repository. Run the git clone command for sfyc23/EverydayWechat on a machine with Python 3.5 or newer.
  3. 3Edit _config.yaml. Set alarm and recipient fields using strict YAML syntax, starting with 文件传输助手 as the recipient.
  4. 4Test a scheduled message. Set alarm_timed a few minutes ahead and confirm the message arrives in 文件传输助手.
  5. 5Configure a bot channel. Set is_auto_relay, choose bot_channel, and add the API key the channel requires.
  6. 6Restrict auto-reply targets. Use a whitelist or blacklist so the bot only replies to the contacts you intend.

Check whether this project fits your needs

Before installing, confirm your WeChat account can log into the web version at wx.qq.com. The README says the project depends on that web version, and if login fails the project cannot work, with no workaround given.

The README also prohibits business or commercial use. The project's last push is listed as June 2021 and no release is listed, so it is not a supported, actively maintained product.

  • Good fit: developers comfortable editing YAML and running Python, who want a scheduled greeting for a friend or group.
  • Poor fit: anyone wanting a click-to-install app, commercial use, or a maintained product.

Install EverydayWechat from source

The project uses a clone-and-build install. The prerequisite listed in the README is Python 3.5 or newer. Clone the repository with the command below, then follow the project's own instructions in the cloned folder.

  • Prerequisite: Python 3.5+
  • Clone the repository from GitHub.
git clone https://github.com/sfyc23/EverydayWechat.git

Configure settings in _config.yaml

All project settings live in the _config.yaml file. The README asks you to follow strict YAML syntax, so keep indentation and quotes exact. Each feature has its own block: scheduled alarms, auto-reply and group assistant.

To try things out quickly, the README suggests sending to the File Transfer Assistant (文件传输助手) contact. That lets you test with your own account.

  • wechat_name: friend nicknames or remarks (not WeChat IDs). At least one of wechat_name or group_name is required.
  • group_name: group chats must be saved to your contacts first.
  • alarm_timed: one or more times, such as "9:00".
  • alarm_jitter: sends randomly within the given seconds before or after the time (example value 300).
  • city_name, calendar, horescope, dictum_channel and sweet_words are optional content settings.
alarm_info: is_alarm: True alarm_timed: - "9:00" - "12:30" wechat_name: - '文件传输助手' group_name: - 'EverydayWechat 交流群' city_name: '桂林'

Set up scheduled daily messages

Set is_alarm to True to enable timed sending. The README says that when it is False, scheduled sending is off. For a quick test, set alarm_timed a few minutes after the current system time so you can see the result the same day.

The README notes that messages go out every day at the set time as long as WeChat stays connected. Content sources include weather, a daily quote (dictum_channel, with numbered options listed in the README), a calendar note and a sweet-words suffix.

  • Test first: send to 文件传输助手 before adding real contacts.
  • dictum_channel options in the README: 1 ONE, 2 词霸 bilingual, 3 土味情话, 4 一言, 5 笑话, 6 民国情书, 7 彩虹屁.

Set up the auto-reply bot

Auto-reply is controlled by is_auto_relay. Choose a chatbot channel with bot_channel, where 7 is the default 思知 bot listed in the README. Some channels need a key from their website, and 青云客 needs no application. You then choose whether to reply to a whitelist (is_auto_reply_all: False) or to everyone except a blacklist (is_auto_reply_all: True).

The README says the bot only replies to text messages, and that sending too many messages may get web login restricted, though it states the account will not be banned.

  • Set is_auto_relay to True and pick bot_channel.
  • Whitelist mode: is_auto_reply_all: False with auto_reply_white_list.
  • Blacklist mode: is_auto_reply_all: True with auto_reply_black_list.
  • Add the API key for your chosen bot in its own block, such as turing_conf or ownthink_conf.
is_auto_relay: True bot_channel: 7 is_auto_reply_all: False auto_reply_white_list: - '好友1'

Use the group assistant features

The group assistant handles queries such as weather, calendar, waste sorting, box office and PM2.5 in group chats. The README warns that turning on is_all applies to all groups, and that is_at means the bot only responds when someone @-mentions it. Enable these settings carefully.

  • is_open turns the group assistant on.
  • is_all applies it to all groups; the blacklist is then exempt.
  • is_at limits replies to @-mentions.
  • is_weather, is_calendar, is_rubbish and is_moviebox toggle individual queries.

What people use it for

  • Send a scheduled morning weather note to a friend in a chosen city.
  • Post a daily quote or calendar note in a group chat you manage.
  • Test auto-reply behaviour by chatting with 文件传输助手.
  • Experiment with different chatbot APIs for learning purposes.

Frequently asked questions

Is EverydayWechat free?

The project is released under the MIT licence, as listed on its GitHub page. Some chatbot and data services it uses have their own terms, such as registration or daily limits, which the README describes per service.

What are the requirements to run EverydayWechat?

The README lists Python 3.5 or newer as the prerequisite. You also need a WeChat account that can log into the web version, since the project depends on it.

Why won't EverydayWechat log in?

The README states that if your account cannot log into WeChat's web version, the project cannot work and there is no workaround. Check web login at wx.qq.com first.

Can I use EverydayWechat for business?

No. The README explicitly prohibits using the tool for commercial purposes.

Is EverydayWechat safe to use with my contacts?

The README says too many messages may cause web login to be restricted, though it states this will not get the account banned. Test with 文件传输助手 first and keep auto-reply limited to a whitelist.

What are alternatives to EverydayWechat?

The listed comparable projects are ItChat and WeChaty. ItChat is the library EverydayWechat is built on, so it is a lower-level option for developers.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

EverydayWechat suits developers who are comfortable with Python and YAML and want a scheduled WeChat message or a chatbot experiment. It is a poor choice for anyone who needs a supported product, commercial use, a click-to-install experience, or who cannot log into WeChat's web version.

Install options & downloads