diff --git a/README.md b/README.md index 437b238..a475df6 100644 --- a/README.md +++ b/README.md @@ -32,13 +32,14 @@ - [x] 待办 - [x] 天气 - [x] 今日运势 -- [ ] 今日塔罗 +- [x] 今日塔罗 - [x] 点歌(网易云 需扫码登录 在 src\music 目录下)*目前cookie过期检测有bug,出现播放不了需要吧cookie文件删掉* - [x] 图(返回图库中的图片) - [x] 摸摸头 - [x] 接入语言模型 +- [x] 搜索B站视频 - [ ] 今日老婆 -- [ ] 群老婆 +- [x] 群老婆
@@ -86,6 +87,12 @@ npm install crypto-js
+**使用BV搜索B站视频需要另外安装:**[Chrome Driver](https://googlechromelabs.github.io/chrome-for-testing/) + +安装教程:[chromedriver下载与安装方法,亲测可用-CSDN博客](https://blog.csdn.net/zhoukeguai/article/details/113247342) + +
+ ### ✒️二、配置所需文件 在一切开始前,你需要将项目根目录下的[example.env.prod](example.env.prod)文件更名为.env.prod,这是机器人的账号配置文件。 @@ -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目录中,启动即可使用 - 部分插件通过调用其它目录中的方法完成其功能
@@ -168,11 +198,10 @@ python bot.by #### 📲所有指令 -机器人的指令列表在[src/qq_plugins/check.py](src/plugins/check.py)中,有如下指令: +机器人的指令列表在[src/plugins/check.py](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 = ['/今日运势','/天气','/图','/点歌','/摸摸头','/群老婆','/ 机器人中已经配置好数据库初始化的脚本。若您是第一次启动机器人。会在项目根目录下自动创建chat_bot.db(数据库文件) -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 ``` -初始化相关脚本存放在 [src/my_sqlite/data_init](src/clover_sqlite/data_init) 目录下。 +数据库相关脚本存放在 [src/clover_sqlite/models](src/clover_sqlite/models) 目录下。我们使用Tortoise ORM管理数据库。 -每次启动机器人,程序会自动检查上述8张表是否存在,有表缺失则会在数据库中自动创建对应的表。 +每次启动机器人,程序会自动检查上述11张表是否存在,有表缺失则会在数据库中自动创建对应的表。 对已存在的表不做处理。 @@ -221,23 +258,27 @@ group_list 机器人支持[SMMS图床](https://sm.ms/)、[聚合图床](https://www.superbed.cn/)、从**本地**发送图片。 -获取图片的方法统一编写在[src/image/get_image.py](src/clover_image/get_image.py)下。 +获取图片的方法统一编写在[src/clover_image/get_image.py](src/clover_image/get_image.py)下。 ##### 使用: -首先找到[src/image/config/image.yaml](src/clover_image/config/image.yaml) +首先找到[src/configs/api_config_example.py](src/configs/api_config_example.py) -```yaml -image: - app_id: "" - image_local_qq_image_path: "src/clover_image/qq_image" - image_local_path: "src/clover_image/MaoYuNa" - #SMMS图床相关配置 - smms_token: "" # sm.ms图床的token - smms_image_upload_history: "https://sm.ms/api/v2/upload_history" # sm.ms图床获取上传图片历史API地址 - #聚合图床相关配置 - ju_he_token: "" # 聚合图床的token - ju_he_image_list: "https://api.superbed.cn/timeline" # 聚合图床获取上传图片历史API地址 +```python + +app_id="" +bot_account= "" + +""" +图床配置 +""" +# SMMS图床相关配置 +smms_token= "" # sm.ms图床的token +smms_image_upload_history= "https://sm.ms/api/v2/upload_history" # sm.ms图床获取上传图片历史API地址 + +# 聚合图床相关配置 +ju_he_token= "" # 聚合图床的token +ju_he_image_list= "https://api.superbed.cn/timeline" # 聚合图床获取上传图片历史API地址 ``` 将你的机器人app_id,smms图床Token和聚合图床Token替换上述\(可以根据自身需求选填) @@ -256,8 +297,6 @@ image:
-*PC端QQ由于未知原因可能会出现播放失败的问题,这绝对不是咱的问题,绝对不是!* - ##### 使用: 若您是初次使用点歌功能,在群聊中@机器人后,机器人会提示: @@ -270,21 +309,31 @@ image:
-🚨注意:目前点歌的实现方法为获取请求到的第一首歌,并且自动跳过无法下载(付费)歌曲,若您想点的歌原唱为付费,可能会随机到一首翻唱或其它版本。 +🚨注意:我们使用cookie存储用户登录信息,所以会存在登录过期的情况,若cookie过期,机器人会提示 + +``` +歌曲音频获取失败:登录信息失效。 +``` + +此时需要**删除**[cloud_music_cookies.cookie](cloud_music_cookies.cookie)并重新扫码登录。
#### 💡使用第三方语言模型 -打开[src/ai_chat/config/example.chat_ai.yaml](src/clover_openai/config/chat_ai.yaml) +打开[src/configs/api_config_example.py](src/configs/api_config_example.py),找到 -```yaml -chat_ai: - admin_password: "" # 设置管理员认证密码 - v3url: "" - v3key: "" - deepseek_url: "" - deepseek_key: "" +```python +""" +AI +""" +admin_password= "123456" # 默认注册管理员密码 +# 图灵机器人相关配置 +v3url= "https://api.vveai.com/v1/chat/completions" +v3key= "" +# DeepSeek相关配置 +deepseek_url= "https://api.deepseek.com" +deepseek_key= "" ``` 将你自己的deepseek url和api填入,并将文件重命名为chat_ai.yaml。 @@ -305,13 +354,13 @@ chat_ai: ###### 1.注册为管理员 -在[src/ai_chat/config/example.chat_ai.yaml](src/clover_openai/config/chat_ai.yaml)内,找到 +在[**src/configs/api_config_example.py**](src/configs/api_config_example.py)内,找到 -```yaml - admin_password: "" # 设置管理员认证密码 +```python +admin_password= "123456" # 默认注册管理员密码 ``` -在上述"\"中填入你的密码。 +可以更改为自己的密码。
@@ -321,10 +370,10 @@ chat_ai: @<机器人名称> /管理员注册 <密码> ``` -例如,对三叶草进行管理员注册时,假如密码是1234,需要 +例如,对三叶草进行管理员注册时,假如密码是123456,需要 ``` -@三叶草 /管理员注册 1234 +@三叶草 /管理员注册 123456 ```
@@ -372,3 +421,27 @@ AI功能为每个群单独启动,默认关闭。 ``` 可查询近期比赛。 + +
+ +#### 📺B站视频搜索 + +##### 介绍: + +机器人使用哔哩哔哩视频API,可将视频文件发送至群聊。 + +指令: + +``` +@<机器人名称> /BV搜索 +``` + +🚨注意:由于QQ的限制,官方bot无法发送时长超出2分钟的视频。 + +##### 使用: + +您需要首先确保自己的电脑安装了[Chrome Driver](https://developer.chrome.google.cn/docs/chromedriver?hl=zh-cn)。 + +若没安装过,请参考教程:[chromedriver下载与安装方法,亲测可用-CSDN博客](https://blog.csdn.net/zhoukeguai/article/details/113247342) + +程序第一次启动时,会获取B站的cookie保存至本地,使用selenium库完成,下载可能较慢,需要稍等一会儿。 diff --git a/src/configs/api_config_example.py b/src/configs/api_config_example.py index cae2a18..4b65e88 100644 --- a/src/configs/api_config_example.py +++ b/src/configs/api_config_example.py @@ -1,11 +1,9 @@ - app_id="" bot_account= "" """ 图床配置 """ - # SMMS图床相关配置 smms_token= "" # sm.ms图床的token smms_image_upload_history= "https://sm.ms/api/v2/upload_history" # sm.ms图床获取上传图片历史API地址