Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iuiaoin/wechat-gptbot
A wechat robot based on ChatGPT with no risk, very stable! 🚀
https://github.com/iuiaoin/wechat-gptbot
chatgpt openai python wechat
Last synced: 1 day ago
JSON representation
A wechat robot based on ChatGPT with no risk, very stable! 🚀
- Host: GitHub
- URL: https://github.com/iuiaoin/wechat-gptbot
- Owner: iuiaoin
- License: mit
- Created: 2023-05-29T03:07:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-15T08:45:48.000Z (11 months ago)
- Last Synced: 2024-08-02T01:15:43.139Z (3 months ago)
- Topics: chatgpt, openai, python, wechat
- Language: Python
- Homepage:
- Size: 1.13 MB
- Stars: 577
- Watchers: 11
- Forks: 114
- Open Issues: 51
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ChatGPT-repositories - wechat-gptbot - A wechat robot based on ChatGPT with no risk, very stable! 🚀 (Chatbots)
README
Welcome to wechat-gptbot 👋
> A wechat robot based on ChatGPT with no risk, very stable! 🚀
> English | [中文文档](README_ZH.md)## 🎤 Introduction
> When I use bots based on `itchat` and `wechaty`, I often encounter the risk of account restrictions when scanning codes to log in. Refer to [#158](https://github.com/AutumnWhj/ChatGPT-wechat-bot/issues/158). Is there a safe way to use wechat bots? Here it is~
## 🌟 Features
- [x] **Extremely Stable:** Implement based on windows hook, no worry about risk of wechat account restriction
- [x] **Basic Conversation:** Smart reply for private chat and group chat, support multiple rounds of session context memory, support GPT-3, GPT-3.5, GPT-4, Claude-2, Claude Instant-1, Command Nightly, Palm models and other models in [litellm](https://litellm.readthedocs.io/en/latest/supported/)
- [x] **Image Generation:** Support image generation, Dell-E only model for now
- [x] **Flexible Configuration:** Support prompt settings, proxy, command settings and etc.
- [x] **Plugin System:** Support personalized plugin extensions, you can easily integrate the functions you want## 📝 Changelog
> **2023.07.13:** Introduce `plugin system` to make gptbot have more possibilities and easy to expand [#46](https://github.com/iuiaoin/wechat-gptbot/pull/46). Here's the first interesting plugin: [tiktok](https://github.com/iuiaoin/plugin_tiktok), try it and have fun! Also refer to [docs](plugins/README.md) to learn the usage and how to contribute~
## 🚀 Getting Start
### Environment
Support Windows system(probably support Linux in the future based on [sandbox](https://github.com/huan/docker-wechat)) and `Python` needs to be installed at the same time
> It is recommended that the Python version be between 3.8.X~3.10.X, version 3.10 is perfect
#### 1. Clone repo
```bash
git clone https://github.com/iuiaoin/wechat-gptbot && cd wechat-gptbot
```#### 2. Install dependencies
```bash
pip install -r requirements.txt
```### Configuration
`config.template.json` in the root directory contains the configs template, you need to copy the template to create the final effective `config.json`
```bash
cp config.template.json config.json
```Then fill in the configuration in `config.json`, the following is the description of the default configuration, which can be customized according to the needs:
```bash
{
"openai_api_key": "YOUR API SECRET KEY", # Fill in your OpenAI API Key
"model": "gpt-3.5-turbo", # ID of the model to use, support gpt-3.5-turbo, gpt-4, gpt-4-32k etc.
"use_azure_chatgpt": false, # Whether use Azure OpenAI API
"azure_deployment_id": "", # Azure model deployment name
"role_desc": "You are a helpful assistant.", # Role description as system prompt
"session_expired_duration": 3600, # Session memory kept duration
"max_tokens": 1000, # Max tokens of characters for session memory
"temperature": 0.9, # Between 0 and 2. Higher values make the output more random, while lower values more focused
"proxy": "127.0.0.1:3000", # Proxy client ip and port
"openai_api_base": "", # api url used by openai service
"create_image_size": "256x256", # Dall-E image size, support 256x256, 512x512, 1024x1024
"create_image_prefix": ["draw", "paint", "imagine"], # Text prefix for image generation
"clear_current_session_command": "#clear session", # Clear current session
"clear_all_sessions_command": "#clear all sessions", # Clear all sessions
"chat_group_session_independent": false, # Whether sessions of users are independent in chat group
"single_chat_prefix": ["bot", "@bot"], # Start conversation with "bot" or "@bot" in single chat to trigger the bot, leave it empty if you wanna make the bot active all the time
"group_chat_reply_prefix": "", # Reply prefix in group chat
"group_chat_reply_suffix": "", # Reply suffix in group chat
"single_chat_reply_prefix": "", # Reply prefix in single chat
"single_chat_reply_suffix": "", # Reply suffix in single chat
"query_key_command": "#query key" # Querying the usage of the api key
"recent_days": 5 # The usage in days
"plugins": [{ "name": , other configs }]# Add the your favorite plugins
}
```### Running
#### 1. Prepare
> We need the specific wechat version and dll to make windows hook work.
1. Download assets from the [release](https://github.com/iuiaoin/wechat-gptbot/releases/tag/v1.0.0)
2. Install WeChatSetup-3.2.1.121.exe and login
3. Run the wechat-dll-injectorV1.0.3.exe
4. Select 3.2.1.121-LTS.dll and click `inject dll`, you will see "Successfully injected: 3.2.1.121-LTS.dll"#### 2. Run command
```bash
python app.py
```Voilà! Enjoy your exploring journey~
## ✨ Generous Backers
> Thank you very much for your support, it will be my biggest motivation!
## 🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to
check [issues page](https://github.com/iuiaoin/wechat-gptbot/issues).## 🙏 Show your support
Give a ⭐️ if you like this project!
## 📢 Announcements
The WeChatSetup is coming from [wechat-windows-versions](https://github.com/tom-snow/wechat-windows-versions/releases) and wechat-dll-injector from [wechat-bot](https://github.com/cixingguangming55555/wechat-bot), so you can use it without concern. Also thanks the two repo's owners for their contributions.
## 💖 Sponsor
> Become a Sponsor on **[AFDIAN](https://afdian.net/a/declan)**. Your name will be specifically listed under Generous Backers~