# WeChatter: Make WeChat Better
<div align="center">
[![CI/CD](https://github.com/Cassius0924/WeChatter/actions/workflows/test.yml/badge.svg)](https://github.com/Cassius0924/WeChatter/actions/workflows/test.yml)
[![GitHub Release](https://img.shields.io/github/v/release/Cassius0924/WeChatter)](https://github.com/Cassius0924/WeChatter/releases)
[![GitHub License](https://img.shields.io/github/license/Cassius0924/WeChatter)](https://github.com/Cassius0924/WeChatter/blob/master/LICENSE)
![Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)
</div>
## 介绍
一个基于 [wechatbot-webhook](https://github.com/danni-cool/wechatbot-webhook) 的微信机器人💬,支持 GPT 问答、热搜推送、天气预报、消息转发、小游戏、Webhook 提醒等功能。
[![wechatter show](docs/images/wechatter_show.png)](docs/command_show.md)
## 快速开始
WeChatter 支持 [Docker Compose 部署](#docker-compose-部署)、[Docker 部署](./docs/development.md#docker-部署)和[本地部署](./docs/development.md#本地部署)。
> [!TIP]
> 推荐使用 Docker-compose 部署。
### Docker Compose 部署
1. 下载 WeChatter 配置文件
```bash
mkdir WeChatter && cd WeChatter
wget -O config_cps.yaml https://cdn.jsdelivr.net/gh/cassius0924/wechatter@master/config_cps.yaml.example
```
2. 编辑 `config_cps.yaml` 配置文件
```bash
vim config_cps.yaml
```
3. 下载 docker-compose.yml
```bash
wget https://cdn.jsdelivr.net/gh/cassius0924/wechatter@master/docker-compose.yml
```
4. 运行 Docker Compose
```bash
docker-compose -f docker-compose.yml up
```
5. 登录微信
使用微信扫描终端输出的二维码登录微信。
6. 测试机器人
使用另一个微信尝试拍一拍机器人或给机器人发送 `/help` 指令。
![tickled_show](docs/images/tickled_show.png)
## 支持的命令
- [x] GPT 问答(不支持定时任务)
- [x] Bilibili 热搜
- [x] 知乎热搜
- [x] 微博热搜
- [x] 抖音热搜
- [x] GitHub 趋势
- [x] 单词词语翻译(不支持定时任务)
- [x] 少数派早报
- [x] 历史上的今天
- [x] 二维码生成
- [x] 待办清单(不支持定时任务)
- [x] 人民日报 PDF
- [x] 天气预报
- [x] 食物热量
- [x] 冷知识
- [x] 中石化92号汽油指导价
> [!TIP]
> 命令帮助请使用 `/help` 命令查询或查看[命令功能展示](docs/command_show.md)。
## 支持的功能
- [x] **掉线提醒**:当机器人掉线时,通过 Bark 推送提醒消息。
- [x] **消息可引用回复**:用户可以通过引用并回复命令消息进一步获取消息内容。带`(可引用:***)`的机器人消息即为可进一步互动的可引用消息。
- [x] **消息转发**:转发用户或群的消息到其他用户或群,并支持引用回复转发消息。需进行[配置](#%EF%B8%8F-message-forwarding-配置)。
![message_forwarding_and_quoted_reply_show](docs/images/message_forwarding_and_quoted_reply_show.png)
- [x] **公众号提醒**:当指定公众号发布新文章时,机器人会给指定用户或群发送提醒。需进行[配置](#%EF%B8%8F-official-account-reminder-配置)。
![official_account_reminder_show](docs/images/official_account_reminder_show.png)
- [x] **定时任务**:大部分命令均支持定时任务。需进行[配置](#%EF%B8%8F-task-cron-配置)。
- [x] **Discord 消息转发**:基于 Discord Webhook,将微信消息转发到 Discord 频道。需进行[配置](#%EF%B8%8F-discord-message-forwarding-配置)。
## 支持的游戏
- [x] **井字棋**:双人游戏,图片游戏。
![tictactoe_show](docs/images/tictactoe_show.png)
> [!TIP]
> 游戏相关命令帮助请使用查阅[游戏基本命令](docs/command_show.md#游戏基本命令)。
## 支持的 Webhook
- [x] GitHub 仓库 Webhook,需在 GitHub 仓库 Settings 中添加 Webhook 并进行[配置](#%EF%B8%8F-github-webhook-配置)。
![github_webhook_show](docs/images/github_webhook_show.png)
## 配置文件
项目根目录中的 `config.yaml.example` 为配置文件模版,首次启动项目前需要复制一份配置文件,并命名为 `config.yaml`。 编辑 `config.yaml`。
下表为配置项解释:
### ⚙️ WeChatter 配置
| 配置项 | 解释 | 备注 |
| --- | --- | --- |
| `wechatter_port` | WeChatter服务器的端口,接受消息的端口 | 默认为 `4000`,需和 `wxbotwebhook` Docker 的 `RECV_MSG_API` 参数的端口一致 |
### ⚙️ WxBotWebhook 配置
| 配置项 | 解释 | 备注 |
| --- | --- | --- |
| `wx_webhook_base_api` | 发送消息的 BaseAPI | 默认为 `http://localhost:3001`,即 `wxBotWebhook` Docker 的地址。Docker Compose 部署时默认为 `http://wxbotwebhook:3001` |
| `wx_webhook_recv_api_path` | 接收消息的接口路径 | 默认为 `/receive_msg`,此路径为 Docker 参数 `RECVD_MSG_API` 的路径 |
| `wx_webhook_token` | wxBotWebhook 的 Token | Docker Compose 部署时默认为 `wechatter` |
### ⚙️ Admin 配置
| 配置项 | 解释 | 备注 |
| --- | --- | --- |
| `admin_list` | 设置管理员,用于接收机器人状态变化通知 | 填入管理员微信名(不是备注) |
| `admin_group_list` | 与 `admin_list` 同理,接收机器人状态变化通知 | 填入群名称(不是群备注) |
| `bark_url` | 用于接收机器人状态变化通知的 Bark URL | [Bark](https://github.com/Finb/Bark) 仅限 iOS 和 iPadOS |
### ⚙️ Bot 配置
| 配置项 | 解释 | 备注 |
| --- | --- | --- |
| `bot_name` | 微信机器人的名字 | 微信名称,非微信号 |
### ⚙️ Chat 配置
| 配置项 | 解释 | 备注 |
| --- | --- | --- |
| `command_prefix` | 机器人命令前缀 | 默认为 `/` ,可以设置为`>>`、`!` 等任意字符,可以为空,此项为空时触发命令不需要命令前缀 |
| `need_mentioned` | 群聊中的命令是否需要@机器人 | 默认为 `False` |
| `ban_person_list` | 黑名单用户列表 | 机器人不会响应黑名单用户的消息 |
| `ban_group_list` | 黑名单群列表 | 机器人不会响应黑名单群的消息 |
### ⚙️ LLM 配置
| 配置项 | 解释 | 备注 |
| --- | --- | --- |
| `openai_base_api` | OpenAI 服务的 BaseAPI | 默认为 `https://api.openai.com` |
| `openai_token` | OpenAI Token(Key) | 以 `sk_` 开头的字符串密钥 |
### ⚙️ GitHub Webhook 配置
| 配置项 | 解释 | 备注 |
| --- | --- | --- |
| `github_webhook_enabled` | 功能开关,是否接收 GitHub Webhook | 默认为 `False` |
| `github_webhook_api_path` | 接收 GitHub Webhook 的接口路径 | 默认为 `/webhook/github` |
| `github_webhook_receiver_list` | 接收 GitHub Webhook 的微信用户 | |
| `github_webhook_receive_group_list` | 接收 GitHub Webhook 的微信群 | |
### ⚙️ Message Forwarding 配置
| 配置项 | 子项 | 解释 | 备注 |
| --- | --- | --- | --- |
| `message_forwarding_enabled` | | 功能开关,是否开启消息转发 | 默认为 `False` |
| `message_forwarding_rule_list` | | 消息规则列表,每个规则包含四个字段:`from_list`、`from_list_exclude`、`to_person_list` 和 `to_group_list` | |
| | `from_list` | 消息转发来源列表,即消息发送者 | 可以填多个用户名称或群名称,若要转发所有消息则使用 `["%ALL"]` |
| | `from_list_exclude` | 消息转发来源排除列表,不转发此列表的用户和群 | 只在 `from_list` 为 `["%ALL"]` 时生效 |
| | `to_person_list` | 消息转发目标用户列表,即消息接收用户 | 可以填多个用户名称或为空列表 |
| | `to_group_list` | 消息转发目标群列表,即消息接收群 | 可以填多个群名称或为空列表 |
### ⚙️ Official Account Reminder 配置
| 配置项 | 子项 | 解释 | 备注 |
| --- | --- | --- | --- |
| `official_account_reminder_enabled` | | 功能开关,是否开启消息转发 | 默认为 `True` |
| `official_account_reminder_rule_list` | | 消息规则列表,每个规则包含三个字段:`oa_name_lis
没有合适的资源?快使用搜索试试~ 我知道了~
基于 wechatbot-webhook 的微信机器人,
共234个文件
py:148个
png:38个
json:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 64 浏览量
2024-05-11
21:07:53
上传
评论
收藏 14.7MB ZIP 举报
温馨提示
基于 wechatbot-webhook 的微信机器人,支持 GPT 问答、热搜、天气预报、消息转发、小游戏、Webhook提醒等功能。 GPT, 通常指的是“Generative Pre-trained Transformer”(生成式预训练转换器),是一个在自然语言处理(NLP)领域非常流行的深度学习模型架构。GPT模型由OpenAI公司开发,并在多个NLP任务上取得了显著的性能提升。 GPT模型的核心是一个多层Transformer解码器结构,它通过在海量的文本数据上进行预训练来学习语言的规律。这种预训练方式使得GPT模型能够捕捉到丰富的上下文信息,并生成流畅、自然的文本。 GPT模型的训练过程可以分为两个阶段: 预训练阶段:在这个阶段,模型会接触到大量的文本数据,并通过无监督学习的方式学习语言的结构和规律。具体来说,模型会尝试预测文本序列中的下一个词或短语,从而学习到语言的语法、语义和上下文信息。 微调阶段(也称为下游任务训练):在预训练完成后,模型会被应用到具体的NLP任务中,如文本分类、机器翻译、问答系统等。在这个阶段,模型会使用有标签的数据进行微调,以适应特定任务的需求。通过微调,模型能够学习到与任务相关的特定知识,并进一步提高在该任务上的性能。 GPT模型的优势在于其强大的生成能力和对上下文信息的捕捉能力。这使得GPT模型在自然语言生成、文本摘要、对话系统等领域具有广泛的应用前景。同时,GPT模型也面临一些挑战,如计算资源消耗大、训练时间长等问题。为了解决这些问题,研究人员不断提出新的优化方法和扩展模型架构,如GPT-2、GPT-3等,以进一步提高模型的性能和效率。
资源推荐
资源详情
资源评论
收起资源包目录
基于 wechatbot-webhook 的微信机器人, (234个子文件)
Dockerfile 310B
.dockerignore 1KB
config_cps.yaml.example 3KB
config.yaml.example 2KB
gasoline_price_data 191B
.gitignore 151B
c_weather.js 385B
weibo_hot_response.json 136KB
zhihu_hot_response.json 112KB
zhihu_hot_data.json 106KB
city_ids.json 84KB
city_ids.json 78KB
city_ids_old.json 32KB
hourly_data.json 15KB
city_ids_old2.json 14KB
github_trending_data.json 7KB
bili_hot_response.json 6KB
douyin_hot_response.json 5KB
today_in_history_response.json 5KB
trivia_data.json 3KB
food_detail_list.json 2KB
food_href_list.json 1KB
pai_post_data.json 1KB
c_data.json 466B
one_food_detail.json 262B
LICENSE 34KB
README.md 11KB
task_cron_config_detail.md 4KB
command_show.md 3KB
development.md 2KB
custom_command_key_config_detail.md 2KB
wechatter_show.png 2.44MB
message_forwarding_and_quoted_reply_show.png 766KB
cmd_github_trending.png 750KB
cmd_zhihu_hot.png 707KB
cmd_today_in_history.png 490KB
cmd_weibo_hot.png 459KB
cmd_douyin_hot.png 444KB
cmd_food_calories.png 426KB
cmd_gpt4_1.png 385KB
cmd_bili_hot.png 377KB
tictactoe_show.png 345KB
cmd_pai_post.png 287KB
cmd_gpt4_4.png 244KB
cmd_trivia.png 181KB
github_webhook_show.png 180KB
cmd_gpt4_5.png 178KB
cmd_word.png 149KB
cmd_qrcode.png 134KB
cmd_gasoline_price.png 133KB
official_account_reminder_show.png 125KB
cmd_weather.png 124KB
cmd_gpt4_2.png 117KB
cmd_todo_1.png 111KB
cmd_game_play.png 103KB
cmd_game_create.png 85KB
cmd_todo_2.png 84KB
cmd_game_start.png 76KB
tickled_show.png 72KB
cmd_gpt4_3.png 70KB
cmd_people_daily_2.png 67KB
cmd_game_join.png 58KB
cmd_game_list.png 52KB
cmd_todo_3.png 52KB
cmd_people_daily_1.png 43KB
cmd_game_over.png 36KB
board.png 9KB
piece_o.png 3KB
piece_x.png 2KB
openai_chat_gpt.py 18KB
sender.py 13KB
game.py 11KB
weather.py 10KB
message.py 10KB
message_handler.py 9KB
message_forwarder.py 9KB
file_manager.py 6KB
translate.py 6KB
tictactoe.py 6KB
task_cron_list_parser.py 6KB
food_calories.py 6KB
__init__.py 5KB
test_weather.py 5KB
wechat.py 5KB
http_request.py 5KB
github_trending.py 5KB
handlers.py 5KB
test_bili_hot.py 5KB
test_douyin_hot.py 4KB
test_today_in_history.py 4KB
test_translate.py 4KB
test_weibo_hot.py 4KB
test_zhihu_hot.py 4KB
todo.py 4KB
test_food_calories.py 4KB
validate.py 3KB
person.py 3KB
test_github_trending.py 3KB
pai_post.py 3KB
gasoline_price.py 3KB
共 234 条
- 1
- 2
- 3
资源评论
生瓜蛋子
- 粉丝: 3826
- 资源: 5678
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- matlab+数据预处理+线性回归预测+异常值+检测+适用于各种类型的数据集
- 2023-04-06-项目笔记 - 第一百六十二阶段 - 4.4.2.160全局变量的作用域-160 -2024.06.12
- 神经元获取机器码,cc23集群
- EPC工程总承包项目投标的工作流程 论文
- 串口接收什么,并发送什么给主机
- java+sql企业固定资产管理系统(论文+系统+开题报告+任务书+中期考核报告+任务书+评语表+答辩PPT).zip
- Qtcustomplot显示波形
- C语言解四元一次方程组
- 移动式升降台 移动式升降台
- 串口打印学号姓名,当串口以A为包头D为包尾发送一段数据时,串口接收处理,从而控制步进电机正转反转停止,并且可以使用OLED显示
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功