mirror of
https://github.com/ClovertaTheTrilobita/SanYeCao-Nonebot.git
synced 2026-04-01 22:04:51 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
107567f71b
2 changed files with 139 additions and 68 deletions
205
README.md
205
README.md
|
|
@ -32,13 +32,14 @@
|
|||
- [x] 待办
|
||||
- [x] 天气
|
||||
- [x] 今日运势
|
||||
- [ ] 今日塔罗
|
||||
- [x] 今日塔罗
|
||||
- [x] 点歌(网易云 需扫码登录 在 src\music 目录下)*目前cookie过期检测有bug,出现播放不了需要吧cookie文件删掉*
|
||||
- [x] 图(返回图库中的图片)
|
||||
- [x] 摸摸头
|
||||
- [x] 接入语言模型
|
||||
- [x] 搜索B站视频
|
||||
- [ ] 今日老婆
|
||||
- [ ] 群老婆
|
||||
- [x] 群老婆
|
||||
|
||||
<br>
|
||||
|
||||
|
|
@ -86,6 +87,12 @@ npm install crypto-js
|
|||
|
||||
<br>
|
||||
|
||||
**使用BV搜索B站视频需要另外安装:**[<b>Chrome Driver</b>](https://googlechromelabs.github.io/chrome-for-testing/)
|
||||
|
||||
安装教程:[chromedriver下载与安装方法,亲测可用-CSDN博客](https://blog.csdn.net/zhoukeguai/article/details/113247342)
|
||||
|
||||
<br>
|
||||
|
||||
### ✒️二、配置所需文件
|
||||
|
||||
在一切开始前,你需要将项目根目录下的[<b>example.env.prod</b>](example.env.prod)文件更名为<b><i>.env.prod</i></b>,这是机器人的账号配置文件。
|
||||
|
|
@ -128,38 +135,61 @@ python bot.by
|
|||
### 🗒️三、项目结构
|
||||
|
||||
```
|
||||
SanYeCao-Nonebot:.
|
||||
│ .gitignore
|
||||
│ bot.py
|
||||
│ chat_bot.db
|
||||
│ example.env.prod
|
||||
│ package-lock.json
|
||||
│ package.json
|
||||
│ pyproject.toml
|
||||
│ README.md
|
||||
│ requirements.txt
|
||||
│
|
||||
├─node_modules
|
||||
│ └─crypto-js
|
||||
│ └─docs
|
||||
│
|
||||
└─src
|
||||
├─ai_chat
|
||||
│ ├─config
|
||||
├─common_plugins
|
||||
│ ├─cloud_music
|
||||
│ └─img
|
||||
├─image
|
||||
│ ├─config
|
||||
│ ├─MaoYuNa
|
||||
│ ├─qq_image
|
||||
│ ├─rua
|
||||
│ ├─tarot
|
||||
│ │ ├─sideTarotImages
|
||||
│ │ └─TarotImages
|
||||
├─music
|
||||
│ ├─cloud_music
|
||||
├─clover_image
|
||||
│
|
||||
├─clover_music
|
||||
│ ├─cloud_music
|
||||
│ └─netease_music
|
||||
├─my_sqlite
|
||||
│ ├─data_init
|
||||
|
|
||||
├─onebot_plugins
|
||||
│ └─config
|
||||
├─clover_openai
|
||||
│
|
||||
├─clover_sqlite
|
||||
│ ├─data_init
|
||||
│ └─models
|
||||
│
|
||||
├─clover_videos
|
||||
│ └─billibili
|
||||
│
|
||||
├─configs
|
||||
│ └─utils
|
||||
│
|
||||
├─plugins
|
||||
└─qq_plugins
|
||||
├─data_init
|
||||
├─test
|
||||
│ └─test
|
||||
│
|
||||
└─resources
|
||||
├─font
|
||||
├─image
|
||||
│ ├─codeforces
|
||||
│ ├─github_repo
|
||||
│ ├─good_bad_news
|
||||
│ ├─MaoYuNa
|
||||
│ ├─rua
|
||||
│ ├─tarot
|
||||
│ │ ├─sideTarotImages
|
||||
│ │ └─TarotImages
|
||||
│ └─who_say
|
||||
│
|
||||
├─log
|
||||
├─temp
|
||||
└─videos
|
||||
```
|
||||
|
||||
- 基本插件存储在qq_plugins目录中,启动即可使用
|
||||
- 基本插件存储在plugins目录中,启动即可使用
|
||||
- 部分插件通过调用其它目录中的方法完成其功能
|
||||
|
||||
<br>
|
||||
|
|
@ -168,11 +198,10 @@ python bot.by
|
|||
|
||||
#### 📲所有指令
|
||||
|
||||
机器人的指令列表在[<B>src/qq_plugins/check.py</B>](src/plugins/check.py)中,有如下指令:
|
||||
机器人的指令列表在[<B>src/plugins/check.py</B>](src/plugins/check.py)中,有如下指令:
|
||||
|
||||
```python
|
||||
menu = ['/今日运势','/天气','/图','/点歌','/摸摸头','/群老婆','/今日老婆', '/待办', '/test', '我喜欢你', "❤", "/待办查询", "/新建待办", "/删除待办", "/开启ai", "/关闭ai", "/cf", "/管理员确认"]
|
||||
|
||||
menu = ['/今日运势','/今日塔罗','/图','/点歌','/摸摸头','/群老婆','/今日老婆', "/开启ai","/关闭ai","/角色列表","/添加人设", "/更新人设", "/删除人设", "/切换人设", "/管理员注册",'/待办', '/test','/天气','我喜欢你', "❤", "/待办查询", "/新建待办", "/删除待办" ,"/cf","/B站搜索", "/BV搜索", "/喜报", "/悲报", "/luxun","/鲁迅说","/奶龙", "/repo", "/info", "/menu"]
|
||||
```
|
||||
|
||||
输入其它指令机器人会回复听不懂哦。
|
||||
|
|
@ -183,7 +212,7 @@ menu = ['/今日运势','/天气','/图','/点歌','/摸摸头','/群老婆','/
|
|||
|
||||
机器人中已经配置好数据库初始化的脚本。若您是第一次启动机器人。会在项目根目录下自动创建<b><i>chat_bot.db</i></b>(数据库文件)
|
||||
|
||||
chat_bot.db中包括七张表:
|
||||
chat_bot.db中包括11张表:
|
||||
|
||||
```sql
|
||||
--摸一摸文本数据
|
||||
|
|
@ -196,20 +225,28 @@ qr_fortune
|
|||
--今日运势日志,存储该用户是否已经查询过运势
|
||||
qr_fortune_log
|
||||
|
||||
--塔罗牌
|
||||
major_arcana
|
||||
--塔罗牌使用 日志
|
||||
major_arcana_log
|
||||
|
||||
--用户表
|
||||
user_list
|
||||
--用户待办表
|
||||
user_todo_list
|
||||
|
||||
--管理员表
|
||||
admin_list
|
||||
--群聊表
|
||||
group_list
|
||||
--群老婆
|
||||
wife
|
||||
|
||||
--所有模型设定
|
||||
chat_role
|
||||
--群聊AI状态表
|
||||
group_chat_role
|
||||
```
|
||||
|
||||
初始化相关脚本存放在 [<b>src/my_sqlite/data_init</b>](src/clover_sqlite/data_init) 目录下。
|
||||
数据库相关脚本存放在 [<b>src/clover_sqlite/models</b>](src/clover_sqlite/models) 目录下。我们使用Tortoise ORM管理数据库。
|
||||
|
||||
每次启动机器人,程序会自动检查上述8张表是否存在,有表缺失则会在数据库中自动创建对应的表。
|
||||
每次启动机器人,程序会自动检查上述11张表是否存在,有表缺失则会在数据库中自动创建对应的表。
|
||||
|
||||
对已存在的表不做处理。
|
||||
|
||||
|
|
@ -221,23 +258,27 @@ group_list
|
|||
|
||||
机器人支持[<b>SMMS图床</b>](https://sm.ms/)、[<b>聚合图床</b>](https://www.superbed.cn/)、从**本地**发送图片。
|
||||
|
||||
获取图片的方法统一编写在[<B>src/image/get_image.py</B>](src/clover_image/get_image.py)下。
|
||||
获取图片的方法统一编写在[<B>src/clover_image/get_image.py</B>](src/clover_image/get_image.py)下。
|
||||
|
||||
##### 使用:
|
||||
|
||||
首先找到[<b>src/image/config/image.yaml</b>](src/clover_image/config/image.yaml)
|
||||
首先找到[<b>src/configs/api_config_example.py</b>](src/configs/api_config_example.py)
|
||||
|
||||
```yaml
|
||||
image:
|
||||
app_id: "<KEY>"
|
||||
image_local_qq_image_path: "src/clover_image/qq_image"
|
||||
image_local_path: "src/clover_image/MaoYuNa"
|
||||
#SMMS图床相关配置
|
||||
smms_token: "<KEY>" # sm.ms图床的token
|
||||
smms_image_upload_history: "https://sm.ms/api/v2/upload_history" # sm.ms图床获取上传图片历史API地址
|
||||
#聚合图床相关配置
|
||||
ju_he_token: "<KEY>" # 聚合图床的token
|
||||
ju_he_image_list: "https://api.superbed.cn/timeline" # 聚合图床获取上传图片历史API地址
|
||||
```python
|
||||
|
||||
app_id="<KEY>"
|
||||
bot_account= "<KEY>"
|
||||
|
||||
"""
|
||||
图床配置
|
||||
"""
|
||||
# SMMS图床相关配置
|
||||
smms_token= "<KEY>" # sm.ms图床的token
|
||||
smms_image_upload_history= "https://sm.ms/api/v2/upload_history" # sm.ms图床获取上传图片历史API地址
|
||||
|
||||
# 聚合图床相关配置
|
||||
ju_he_token= "<KEY>" # 聚合图床的token
|
||||
ju_he_image_list= "https://api.superbed.cn/timeline" # 聚合图床获取上传图片历史API地址
|
||||
```
|
||||
|
||||
将你的机器人app_id,smms图床Token和聚合图床Token替换上述<i>\<KEY></i>(可以根据自身需求选填)
|
||||
|
|
@ -256,8 +297,6 @@ image:
|
|||
|
||||
<br>
|
||||
|
||||
*PC端QQ由于未知原因可能会出现播放失败的问题,<u>这绝对不是咱的问题,绝对不是!</u>*
|
||||
|
||||
##### 使用:
|
||||
|
||||
若您是初次使用点歌功能,在群聊中@机器人后,机器人会提示:
|
||||
|
|
@ -270,21 +309,31 @@ image:
|
|||
|
||||
<br>
|
||||
|
||||
<b>🚨注意:</b>目前点歌的实现方法为获取请求到的第一首歌,并且自动跳过无法下载(付费)歌曲,若您想点的歌原唱为付费,可能会随机到一首翻唱或其它版本。
|
||||
<b>🚨注意:</b>我们使用cookie存储用户登录信息,所以会存在登录过期的情况,若cookie过期,机器人会提示
|
||||
|
||||
```
|
||||
歌曲音频获取失败:登录信息失效。
|
||||
```
|
||||
|
||||
此时需要**删除**[<b>cloud_music_cookies.cookie</b>](cloud_music_cookies.cookie)并重新扫码登录。
|
||||
|
||||
<br>
|
||||
|
||||
#### 💡使用第三方语言模型
|
||||
|
||||
打开[<b>src/ai_chat/config/example.chat_ai.yaml</b>](src/clover_openai/config/chat_ai.yaml)
|
||||
打开[<b>src/configs/api_config_example.py</b>](src/configs/api_config_example.py),找到
|
||||
|
||||
```yaml
|
||||
chat_ai:
|
||||
admin_password: "<key>" # 设置管理员认证密码
|
||||
v3url: "<key>"
|
||||
v3key: "<key>"
|
||||
deepseek_url: "<key>"
|
||||
deepseek_key: "<key>"
|
||||
```python
|
||||
"""
|
||||
AI
|
||||
"""
|
||||
admin_password= "123456" # 默认注册管理员密码
|
||||
# 图灵机器人相关配置
|
||||
v3url= "https://api.vveai.com/v1/chat/completions"
|
||||
v3key= "<KEY>"
|
||||
# DeepSeek相关配置
|
||||
deepseek_url= "https://api.deepseek.com"
|
||||
deepseek_key= "<KEY>"
|
||||
```
|
||||
|
||||
将你自己的deepseek url和api填入,并将文件重命名为<b><i>chat_ai.yaml</i></b>。
|
||||
|
|
@ -305,13 +354,13 @@ chat_ai:
|
|||
|
||||
###### 1.注册为管理员<a id="admin_control"></a>
|
||||
|
||||
在[<b>src/ai_chat/config/example.chat_ai.yaml</b>](src/clover_openai/config/chat_ai.yaml)内,找到
|
||||
在[**src/configs/api_config_example.py**](src/configs/api_config_example.py)内,找到
|
||||
|
||||
```yaml
|
||||
admin_password: "<key>" # 设置管理员认证密码
|
||||
```python
|
||||
admin_password= "123456" # 默认注册管理员密码
|
||||
```
|
||||
|
||||
在上述<i>"\<key>"</i>中填入你的密码。
|
||||
可以更改为自己的密码。
|
||||
|
||||
<br>
|
||||
|
||||
|
|
@ -321,10 +370,10 @@ chat_ai:
|
|||
@<机器人名称> /管理员注册 <密码>
|
||||
```
|
||||
|
||||
例如,对三叶草进行管理员注册时,假如密码是1234,需要
|
||||
例如,对三叶草进行管理员注册时,假如密码是123456,需要
|
||||
|
||||
```
|
||||
@三叶草 /管理员注册 1234
|
||||
@三叶草 /管理员注册 123456
|
||||
```
|
||||
|
||||
<br>
|
||||
|
|
@ -372,3 +421,27 @@ AI功能为每个群单独启动,默认关闭。
|
|||
```
|
||||
|
||||
可查询近期比赛。
|
||||
|
||||
<br>
|
||||
|
||||
#### 📺B站视频搜索
|
||||
|
||||
##### 介绍:
|
||||
|
||||
机器人使用哔哩哔哩视频API,可将视频文件发送至群聊。
|
||||
|
||||
指令:
|
||||
|
||||
```
|
||||
@<机器人名称> /BV搜索 <BV号>
|
||||
```
|
||||
|
||||
<b>🚨注意:</b>由于QQ的限制,官方bot无法发送时长超出2分钟的视频。
|
||||
|
||||
##### 使用:
|
||||
|
||||
您需要首先确保自己的电脑安装了[<b>Chrome Driver</b>](https://developer.chrome.google.cn/docs/chromedriver?hl=zh-cn)。
|
||||
|
||||
若没安装过,请参考教程:[chromedriver下载与安装方法,亲测可用-CSDN博客](https://blog.csdn.net/zhoukeguai/article/details/113247342)
|
||||
|
||||
程序第一次启动时,会获取B站的cookie保存至本地,使用selenium库完成,下载可能较慢,需要稍等一会儿。
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
|
||||
app_id="<KEY>"
|
||||
bot_account= "<KEY>"
|
||||
|
||||
"""
|
||||
图床配置
|
||||
"""
|
||||
|
||||
# SMMS图床相关配置
|
||||
smms_token= "<KEY>" # sm.ms图床的token
|
||||
smms_image_upload_history= "https://sm.ms/api/v2/upload_history" # sm.ms图床获取上传图片历史API地址
|
||||
|
|
|
|||
Loading…
Reference in a new issue