Merge remote-tracking branch 'origin/master'

This commit is contained in:
SlyAimer 2025-02-13 21:58:18 +08:00
commit 107567f71b
2 changed files with 139 additions and 68 deletions

197
README.md
View file

@ -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
├─clover_image
├─clover_music
│ ├─cloud_music
│ └─img
│ └─netease_music
|
├─clover_openai
├─clover_sqlite
│ ├─data_init
│ └─models
├─clover_videos
│ └─billibili
├─configs
│ └─utils
├─plugins
│ └─test
└─resources
├─font
├─image
│ ├─config
│ ├─codeforces
│ ├─github_repo
│ ├─good_bad_news
│ ├─MaoYuNa
│ ├─qq_image
│ ├─rua
│ ├─tarot
│ │ ├─sideTarotImages
│ │ └─TarotImages
├─music
│ ├─cloud_music
│ └─netease_music
├─my_sqlite
│ ├─data_init
|
├─onebot_plugins
│ └─config
├─plugins
└─qq_plugins
├─data_init
├─test
│ └─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_idsmms图床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库完成下载可能较慢需要稍等一会儿。

View file

@ -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地址