diff --git a/README.md b/README.md
index f6e1e8b..9477a47 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,19 @@
-# WeChatter
+
+ WeChatter:
+
+ Make
+ WeChat
+ Better
+
+
+
[![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)
@@ -12,6 +21,8 @@
基于 [wechatbot-webhook](https://github.com/danni-cool/wechatbot-webhook) 的微信机器人💬,支持 GPT 问答、热搜、天气预报、消息转发、Webhook提醒等功能。
+[![wechatter show](docs/images/wechatter_show.png)](docs/command_show.md)
+
## 快速开始
### 运行 wechatbot-webhook
@@ -82,24 +93,24 @@ python3 main.py
## 支持的命令
- [x] GPT 问答,基于 [Copilot-GPT4-Server](https://github.com/aaamoon/copilot-gpt4-service)
-- [x] 获取 Bilibili 热搜
-- [x] 获取知乎热搜
-- [x] 获取微博热搜
-- [x] 获取抖音热搜
-- [x] 获取 GitHub 趋势
-- [x] 单词/词语翻译
-- [x] 获取少数派早报
-- [x] 获取历史上的今天
-- [x] 二维码生成器
+- [x] Bilibili 热搜
+- [x] 知乎热搜
+- [x] 微博热搜
+- [x] 抖音热搜
+- [x] GitHub 趋势
+- [x] 单词词语翻译
+- [x] 少数派早报
+- [x] 历史上的今天
+- [x] 二维码生成
- [x] 待办清单(TODO)
-- [x] 获取人民日报PDF
-- [x] 获取天气预报
-- [x] 获取食物热量/卡路里
-- [x] 随机获取冷知识
-- [x] 获取中石化92号汽油指导价
+- [x] 人民日报PDF
+- [x] 天气预报
+- [x] 食物热量
+- [x] 冷知识
+- [x] 中石化92号汽油指导价
> [!TIP]
-> 更多命令使用 `/help` 命令查看。
+> 命令帮助请使用 `/help` 命令查询或查看[命令功能展示](docs/command_show.md)。
## 支持的功能
@@ -193,6 +204,12 @@ python3 main.py
关于命令名称可选值详见[自定义命令关键词配置详细](docs/custom_command_key_config_detail.md)
+# 贡献者
+
+Thanks to the following people who have contributed to this project:
+
+[![Contributors](https://contrib.rocks/image?repo=Cassius0924/WeChatter)](https://github.com/Cassius0924/WeChatter/graphs/contributors)
+
## 插件化
> [!NOTE]
diff --git a/docs/command_show.md b/docs/command_show.md
new file mode 100644
index 0000000..6166346
--- /dev/null
+++ b/docs/command_show.md
@@ -0,0 +1,127 @@
+# 命令功能展示
+
+本文档展示了 WeChatter 支持的命令功能。
+
+## 目录
+- [天气预报](#天气预报)
+- [待办清单](#待办清单)
+ - [添加待办](#添加待办)
+ - [删除待办](#删除待办)
+ - [查看待办](#查看待办)
+- [Bilibili 热搜](#Bilibili-热搜)
+- [知乎热搜](#知乎热搜)
+- [微博热搜](#微博热搜)
+- [抖音热搜](#抖音热搜)
+- [GitHub 趋势](#GitHub-趋势)
+- [GPT 问答](#GPT-问答)
+ - [持续对话](#持续对话)
+ - [新建对话](#新建对话)
+ - [所有对话](#所有对话)
+ - [继续对话](#继续对话)
+ - [对话记录](#对话记录)
+- [单词词语翻译](#单词词语翻译)
+- [少数派早报](#少数派早报)
+- [人民日报](#人民日报)
+- [二维码生成](#二维码生成)
+- [食物热量](#食物热量)
+- [中石化92号汽油指导价](#中石化92号汽油指导价)
+- [冷知识](#冷知识)
+- [历史上的今天](#历史上的今天)
+
+## 天气预报
+
+![获取天气预报](./images/cmd_weather.png)
+
+## 待办清单
+
+### 添加待办
+
+![待办清单](./images/cmd_todo_1.png)
+
+### 删除待办
+
+![待办清单](./images/cmd_todo_2.png)
+
+### 查看待办
+
+![待办清单](./images/cmd_todo_3.png)
+
+## Bilibili 热搜
+
+![获取 Bilibili 热搜](./images/cmd_bili_hot.png)
+
+## 知乎热搜
+
+![获取知乎热搜](./images/cmd_zhihu_hot.png)
+
+## 微博热搜
+
+![获取微博热搜](./images/cmd_weibo_hot.png)
+
+## 抖音热搜
+
+![获取抖音热搜](./images/cmd_douyin_hot.png)
+
+## GitHub 趋势
+
+![获取 GitHub 趋势](./images/cmd_github_trending.png)
+
+## GPT 问答
+
+### 持续对话
+
+![GPT 问答](./images/cmd_gpt4_1.png)
+
+### 新建对话
+
+![GPT 问答](./images/cmd_gpt4_2.png)
+
+### 所有对话
+
+![GPT 问答](./images/cmd_gpt4_3.png)
+
+### 继续对话
+
+![GPT 问答](./images/cmd_gpt4_4.png)
+
+### 对话记录
+
+![GPT 问答](./images/cmd_gpt4_5.png)
+
+## 单词词语翻译
+
+![单词词语翻译](./images/cmd_word.png)
+
+## 少数派早报
+
+![少数派早报](./images/cmd_pai_post.png)
+
+## 人民日报
+
+### PDF 文件
+
+![人民日报](./images/cmd_people_daily_1.png)
+
+### 日报链接
+
+![人民日报](./images/cmd_people_daily_2.png)
+
+## 二维码生成
+
+![二维码生成](./images/cmd_qrcode.png)
+
+## 食物热量
+
+![食物热量](./images/cmd_food_calories.png)
+
+## 中石化92号汽油指导价
+
+![中石化92号汽油指导价](./images/cmd_gasoline_price.png)
+
+## 冷知识
+
+![冷知识](./images/cmd_trivia.png)
+
+## 历史上的今天
+
+![历史上的今天](./images/cmd_today_in_history.png)
diff --git a/docs/images/cmd_bili_hot.png b/docs/images/cmd_bili_hot.png
new file mode 100644
index 0000000..87fa242
Binary files /dev/null and b/docs/images/cmd_bili_hot.png differ
diff --git a/docs/images/cmd_douyin_hot.png b/docs/images/cmd_douyin_hot.png
new file mode 100644
index 0000000..bd768e4
Binary files /dev/null and b/docs/images/cmd_douyin_hot.png differ
diff --git a/docs/images/cmd_food_calories.png b/docs/images/cmd_food_calories.png
new file mode 100644
index 0000000..b6de435
Binary files /dev/null and b/docs/images/cmd_food_calories.png differ
diff --git a/docs/images/cmd_gasoline_price.png b/docs/images/cmd_gasoline_price.png
new file mode 100644
index 0000000..d21868a
Binary files /dev/null and b/docs/images/cmd_gasoline_price.png differ
diff --git a/docs/images/cmd_github_trending.png b/docs/images/cmd_github_trending.png
new file mode 100644
index 0000000..03c24b1
Binary files /dev/null and b/docs/images/cmd_github_trending.png differ
diff --git a/docs/images/cmd_gpt4_1.png b/docs/images/cmd_gpt4_1.png
new file mode 100644
index 0000000..0c28cd4
Binary files /dev/null and b/docs/images/cmd_gpt4_1.png differ
diff --git a/docs/images/cmd_gpt4_2.png b/docs/images/cmd_gpt4_2.png
new file mode 100644
index 0000000..0c603c8
Binary files /dev/null and b/docs/images/cmd_gpt4_2.png differ
diff --git a/docs/images/cmd_gpt4_3.png b/docs/images/cmd_gpt4_3.png
new file mode 100644
index 0000000..5343dd0
Binary files /dev/null and b/docs/images/cmd_gpt4_3.png differ
diff --git a/docs/images/cmd_gpt4_4.png b/docs/images/cmd_gpt4_4.png
new file mode 100644
index 0000000..108508f
Binary files /dev/null and b/docs/images/cmd_gpt4_4.png differ
diff --git a/docs/images/cmd_gpt4_5.png b/docs/images/cmd_gpt4_5.png
new file mode 100644
index 0000000..ebfb49d
Binary files /dev/null and b/docs/images/cmd_gpt4_5.png differ
diff --git a/docs/images/cmd_pai_post.png b/docs/images/cmd_pai_post.png
new file mode 100644
index 0000000..5b99d4a
Binary files /dev/null and b/docs/images/cmd_pai_post.png differ
diff --git a/docs/images/cmd_people_daily_1.png b/docs/images/cmd_people_daily_1.png
new file mode 100644
index 0000000..fd9c98e
Binary files /dev/null and b/docs/images/cmd_people_daily_1.png differ
diff --git a/docs/images/cmd_people_daily_2.png b/docs/images/cmd_people_daily_2.png
new file mode 100644
index 0000000..caa4383
Binary files /dev/null and b/docs/images/cmd_people_daily_2.png differ
diff --git a/docs/images/cmd_qrcode.png b/docs/images/cmd_qrcode.png
new file mode 100644
index 0000000..37b423d
Binary files /dev/null and b/docs/images/cmd_qrcode.png differ
diff --git a/docs/images/cmd_today_in_history.png b/docs/images/cmd_today_in_history.png
new file mode 100644
index 0000000..da70041
Binary files /dev/null and b/docs/images/cmd_today_in_history.png differ
diff --git a/docs/images/cmd_todo_1.png b/docs/images/cmd_todo_1.png
new file mode 100644
index 0000000..8c3a708
Binary files /dev/null and b/docs/images/cmd_todo_1.png differ
diff --git a/docs/images/cmd_todo_2.png b/docs/images/cmd_todo_2.png
new file mode 100644
index 0000000..8982fa7
Binary files /dev/null and b/docs/images/cmd_todo_2.png differ
diff --git a/docs/images/cmd_todo_3.png b/docs/images/cmd_todo_3.png
new file mode 100644
index 0000000..b3cc040
Binary files /dev/null and b/docs/images/cmd_todo_3.png differ
diff --git a/docs/images/cmd_trivia.png b/docs/images/cmd_trivia.png
new file mode 100644
index 0000000..c539ccc
Binary files /dev/null and b/docs/images/cmd_trivia.png differ
diff --git a/docs/images/cmd_weather.png b/docs/images/cmd_weather.png
new file mode 100644
index 0000000..571f339
Binary files /dev/null and b/docs/images/cmd_weather.png differ
diff --git a/docs/images/cmd_weibo_hot.png b/docs/images/cmd_weibo_hot.png
new file mode 100644
index 0000000..edc8d6a
Binary files /dev/null and b/docs/images/cmd_weibo_hot.png differ
diff --git a/docs/images/cmd_word.png b/docs/images/cmd_word.png
new file mode 100644
index 0000000..8e8aa97
Binary files /dev/null and b/docs/images/cmd_word.png differ
diff --git a/docs/images/cmd_zhihu_hot.png b/docs/images/cmd_zhihu_hot.png
new file mode 100644
index 0000000..ebe1eac
Binary files /dev/null and b/docs/images/cmd_zhihu_hot.png differ
diff --git a/docs/images/wechatter_show.png b/docs/images/wechatter_show.png
new file mode 100644
index 0000000..3027845
Binary files /dev/null and b/docs/images/wechatter_show.png differ
diff --git a/docs/images/wechatter_show2.png b/docs/images/wechatter_show2.png
new file mode 100644
index 0000000..e228395
Binary files /dev/null and b/docs/images/wechatter_show2.png differ
diff --git a/tests/commands/test_github_trending/test_github_trending.py b/tests/commands/test_github_trending/test_github_trending.py
index 564840c..2cb8667 100644
--- a/tests/commands/test_github_trending/test_github_trending.py
+++ b/tests/commands/test_github_trending/test_github_trending.py
@@ -28,8 +28,8 @@ def test_parse_github_trending_response_failure(self):
def test_generate_github_trending_message_success(self):
result = gt._generate_github_trending_message(self.gt_list)
- true_result = "1. 🏎️ danielmiessler / fabric\n⭐ 2,538 total (⭐1,139 today)\n🔤 Python\n📖 fabric is an open-source framework for augmenting humans using AI.\n2. 🏎️ InkboxSoftware / excelCPU\n⭐ 2,507 total (⭐337 today)\n🔤 Python\n📖 16-bit CPU for Excel, and related files\n3. 🏎️ f / awesome-chatgpt-prompts\n⭐ 98,933 total (⭐115 today)\n🔤 HTML\n📖 This repo includes ChatGPT prompt curation to use ChatGPT better.\n4. 🏎️ all-in-aigc / aicover\n⭐ 973 total (⭐205 today)\n🔤 TypeScript\n📖 ai cover generator\n5. 🏎️ facebookresearch / codellama\n⭐ 12,972 total (⭐197 today)\n🔤 Python\n📖 Inference code for CodeLlama models\n6. 🏎️ webprodigies / plura-production\n⭐ 315 total (⭐43 today)\n🔤 TypeScript\n📖 No description.\n7. 🏎️ ExOK / Celeste64\n⭐ 895 total (⭐170 today)\n🔤 C#\n📖 A game made by the Celeste developers in a week(ish, closer to 2)\n8. 🏎️ haotian-liu / LLaVA\n⭐ 13,169 total (⭐155 today)\n🔤 Python\n📖 [NeurIPS'23 Oral] Visual Instruction Tuning (LLaVA) built towards GPT-4V level capabilities and beyond.\n9. 🏎️ mlflow / mlflow\n⭐ 16,583 total (⭐127 today)\n🔤 Python\n📖 Open source platform for the machine learning lifecycle\n10. 🏎️ PKU-YuanGroup / MoE-LLaVA\n⭐ 689 total (⭐219 today)\n🔤 Python\n📖 Mixture-of-Experts for Large Vision-Language Models"
- self.assertIn(true_result, result)
+ true_result = "✨=====GitHub Trending=====✨\n1.📦 danielmiessler / fabric\n ⭐ 2,538 total (⭐1,139 today)\n 🔤 Python\n 📖 fabric is an open-source framework for augmenting humans using AI.\n2.📦 InkboxSoftware / excelCPU\n ⭐ 2,507 total (⭐337 today)\n 🔤 Python\n 📖 16-bit CPU for Excel, and related files\n3.📦 f / awesome-chatgpt-prompts\n ⭐ 98,933 total (⭐115 today)\n 🔤 HTML\n 📖 This repo includes ChatGPT prompt curation to use ChatGPT better.\n4.📦 all-in-aigc / aicover\n ⭐ 973 total (⭐205 today)\n 🔤 TypeScript\n 📖 ai cover generator\n5.📦 facebookresearch / codellama\n ⭐ 12,972 total (⭐197 today)\n 🔤 Python\n 📖 Inference code for CodeLlama models\n6.📦 webprodigies / plura-production\n ⭐ 315 total (⭐43 today)\n 🔤 TypeScript\n 📖 No description.\n7.📦 ExOK / Celeste64\n ⭐ 895 total (⭐170 today)\n 🔤 C#\n 📖 A game made by the Celeste developers in a week(ish, closer to 2)\n8.📦 haotian-liu / LLaVA\n ⭐ 13,169 total (⭐155 today)\n 🔤 Python\n 📖 [NeurIPS'23 Oral] Visual Instruction Tuning (LLaVA) built towards GPT-4V level capabilities and beyond.\n9.📦 mlflow / mlflow\n ⭐ 16,583 total (⭐127 today)\n 🔤 Python\n 📖 Open source platform for the machine learning lifecycle\n10.📦 PKU-YuanGroup / MoE-LLaVA\n ⭐ 689 total (⭐219 today)\n 🔤 Python\n 📖 Mixture-of-Experts for Large Vision-Language Models\n"
+ self.assertEqual(result, true_result)
def test_generate_zhihu_hot_message_empty_list(self):
result = gt._generate_github_trending_message([])
diff --git a/wechatter/commands/_commands/github_trending.py b/wechatter/commands/_commands/github_trending.py
index da28bd4..7d1fb1b 100644
--- a/wechatter/commands/_commands/github_trending.py
+++ b/wechatter/commands/_commands/github_trending.py
@@ -129,10 +129,10 @@ def _generate_github_trending_message(gt_list: List) -> str:
gt_str = "✨=====GitHub Trending=====✨\n"
for i, trending in enumerate(gt_list[:10]): # 只获取前10个趋势
gt_str += (
- f"{i + 1}. 🏎️ {trending['author']} / {trending['repo']}\n"
- f"⭐ {trending['star_total']} total (⭐{trending['star_today']})\n"
- f"🔤 {trending['programmingLanguage']}\n"
- f"📖 {trending['comment']}\n"
+ f"{i + 1}.📦 {trending['author']} / {trending['repo']}\n"
+ f" ⭐ {trending['star_total']} total (⭐{trending['star_today']})\n"
+ f" 🔤 {trending['programmingLanguage']}\n"
+ f" 📖 {trending['comment']}\n"
)
return gt_str