WxBot Project Introduction
What's this?
WxBot is an intriguing WeChat robot project designed to be a multifunctional bot assistant. Its architecture allows for non-intrusive expansions across different frameworks and plugin functionalities.
- Framework Integration: WxBot can seamlessly integrate with various frameworks such as
Dean DLL
,VLW
, and potentially more by following the instructions in theframework
directory. - Plugin Capabilities: Features can be expanded through plugins available in the
plugins
directory. - Guides and Tutorials: There are beginner video tutorials available:
- BiliBili: Watch here
- YouTube: Watch here
Important Notes
- Prior to using the project, configure related WeChat hook software and set up a callback URL.
- The project supports Dean DLL and VLW frameworks but can accommodate others with some customization.
- WxBot operates over HTTP; WebSocket support is not planned.
- This project acts as middleware for message processing, with message capture handled by external frameworks.
- Use is intended for learning and communication purposes only. Commercial use risks are assumed by the user.
- The use of non-official WeChat bots may risk account suspension.
Example Functionalities:
Supported Frameworks
WsBot integrates frameworks like Dean DLL
and VLW
. The project contains documentation and imagery to assist with setup, found under the docs
directory.
Supported APIs
WxBot has integrated APIs that allow it to interact with different WeChat functionalities, such as sending text messages, images, videos, emojis, and more.
Available Plugins
The project includes a range of plugins that provide various functionalities, such as:
- Baidu Encyclopedia
- ChatGPT communication
- Weekly KFC phrases
- Emotional image retrieval
- Weather queries
- Daily news updates
- Public account monitoring for WeChat
Each plugin is documented with instructions on how to implement and use it.
Command Overview
A full list of available commands for the robot can be found here.
How to use?
Local Operation
- Clone the WxBot repository:
git clone https://github.com/yqchilde/wxbot.git
- Configure via
config.yaml
. - Run using Go:
- Debug with
go run main.go
- Compile using
make release
- Debug with
Releases
Download specific system packages from the Releases page and execute the binary file.
Docker Execution
- One-command start:
bash -c "$(curl -fsSL https://raw.fastgit.org/yqchilde/wxbot/hook/docker/run.sh)"
- Command start (ensure
config.yaml
is correctly set):docker run -d \ --name="wxbot" \ -p 9528:9528 \ -v $(pwd)/config.yaml:/app/config.yaml \ -v $(pwd)/data:/app/data \ yqchilde/wxbot:latest
Actions Compile
- Fork the repository.
- Obtain a GitHub token for actions use and set it as a project secret named
WXBOT_TOKEN
. - Create a tag (e.g.,
v1.0.0
) and await actions compilation, resulting in arelease
.
How to develop?
Plugins and Frameworks
For plugin and framework extensions, consult the plugins
and frameworks
directories. Editing the plugins.yaml
file will allow you to customize which plugins are included.
Reference Examples
View more use cases in the examples
directory.
Debugging - Environment Variables
Use DEBUG
and DEBUG_LOG
environment variables to assist with debugging by logging HTTP requests and allowing detailed logging.
Submitting a Pull Request
Follow the best practices for importing packages and include any plugin changes in the plugins.yaml
file.