diff --git a/README.md b/README.md index b488b5f..407d048 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ - 多种个性化用法,如天气、每日运势(~~机器人时尚单品~~)、点歌、编辑个人待办等,后续功能开发中🔧 - 使用轻量化数据库sqlite管理数据,实现为每位用户单独存取数据🔍 - +
## 🌈目前功能: @@ -30,14 +30,14 @@ - [ ] 今日老婆 - [ ] 群老婆 - +
## 🛠️使用 - 关于Nonebot完整部署使用方法,请查看[官方文档](https://nonebot.dev/) - +
### ⚙️一、环境配置 @@ -52,7 +52,9 @@ conda create --name chatbot python=3.11 或者将上述 *chatbot* 更换为你喜欢的名字。 +🚫注意:机器人支持Static Badge的发行版,推荐使用Static Badge +
此机器人运行所需依赖已全部打包至***requirements.txt***,您只需回到项目根目录 @@ -64,7 +66,7 @@ pip install -r requirements.txt 安装所需依赖。 - +
**使用网易云点歌需要另外安装:** @@ -72,11 +74,11 @@ pip install -r requirements.txt npm install crypto-js ``` - +
### ✒️二、配置所需文件 -在一切开始前,你需要将项目根目录下的 [example.env.prod](example.env.prod)文件更名为.env.prod,这是机器人的账号配置文件。 +在一切开始前,你需要将项目根目录下的[example.env.prod](example.env.prod)文件更名为.env.prod,这是机器人的账号配置文件。 ``` DRIVER=~fastapi+~httpx+~websockets @@ -99,7 +101,7 @@ QQ_BOTS=' ``` 分别在id、token、secret处填写你的机器人ID,机器人Token和Apple Secret,需从[QQ开放平台](https://q.qq.com/)获取。 - +
### 📍二、启动机器人 @@ -111,7 +113,7 @@ python bot.by 或者选择编译器启动,便可以启动机器人。 - +
### 🗒️三、项目结构 @@ -188,7 +190,106 @@ python bot.by - 基本插件存储在qq_plugins目录中,启动即可使用 - 部分插件通过调用其它目录中的方法完成其功能 - +
### 🎈四、更多功能 +#### 📲所有指令 + +机器人的指令列表在[src/qq_plugins/check.py](src/qq_plugins/check.py)中,有如下指令: + +```python +menu = ['/今日运势','/天气','/图','/点歌','/摸摸头','/群老婆','/今日老婆', '/待办', '/test', '我喜欢你', "❤", "/待办查询", "/新建待办", "/删除待办"] +``` + +输入其它指令机器人会回复听不懂哦。 + +
+ +#### ☄️待办、摸一摸、今日运势的初始化 + +机器人中已经配置好数据库初始化的脚本。若您是第一次启动机器人。会在项目根目录下自动创建chat_bot.db(数据库文件) + +chat_bot.db中包括六张表: + +```sql +--摸一摸文本数据 +qr_touch +--摸一摸日志 +qr_touch_log + +--今日运势文本数据 +qr_fortune +--今日运势日志,存储该用户是否已经查询过运势 +qr_fortune_log + +--用户列表 +user_list +--用户待办表 +user_todo_list +``` + +初始化相关脚本存放在 [src/my_sqlite/data_init](src/my_sqlite/data_init) 目录下。 + +每次启动机器人,程序会自动检查上述六张表是否存在,有表缺失则会在数据库中自动创建对应的表。 + +对已存在的表不做处理。 + +
+ +#### ⛅从图床发送图片 + +##### 介绍: + +机器人支持[SMMS图床](https://sm.ms/)、[聚合图床](https://www.superbed.cn/)、从**本地**发送图片。 + +获取图片的方法统一编写在[src/image/get_image.py](src/image/get_image.py)下。 + +##### 使用: + +首先找到[src/image/config/image.yaml](src/image/config/image.yaml) + +```yaml +image: + app_id: "" + image_local_qq_image_path: "src/image/qq_image" + image_local_path: "src/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地址 +``` + +将你的机器人app_id,smms图床Token和聚合图床Token替换上述\(可以根据自身需求选填) + +之后在[get_image.py](src/image/get_image.py)中找到对应的方法,根据自身需求调用。 + +
+ +#### 🎵使用网易云API实现点歌 + +##### 介绍: + +机器人支持在线点歌,将音乐文件以QQ语音的形式发送至群聊。 + +快点一首你喜欢的歌给群友听吧! + +
+ +*PC端QQ由于未知原因可能会出现播放失败的问题,这绝对不是咱的问题,绝对不是!* + +##### 使用: + +若您是初次使用点歌功能,在群聊中@机器人后,机器人会提示: + +``` +登录失效,请联系管理员进行登录 +``` + +此时会在[src/music](src/music)目录下生成一张qrcode.png,您需要使用手机端网易云音乐**扫码**该二维码,登录您的网易云账号。 + +
+ +🚨注意:目前点歌的实现方法为获取请求到的第一首歌,并且自动跳过无法下载(付费)歌曲,若您想点的歌原唱为付费,可能会随机到一首翻唱或其它版本。 diff --git a/src/my_sqlite/todo_by_sqlite.py b/src/my_sqlite/todo_by_sqlite.py index e25ec61..fa310f3 100644 --- a/src/my_sqlite/todo_by_sqlite.py +++ b/src/my_sqlite/todo_by_sqlite.py @@ -58,6 +58,9 @@ def get_user_todo_list(member_openid): result = session.execute(selectUserTodo, {'member_openid': member_openid}).fetchall() session.close() + if str(result) == "[]": + return False + return result diff --git a/src/qq_plugins/to_do.py b/src/qq_plugins/to_do.py index d0f6500..b33ea69 100644 --- a/src/qq_plugins/to_do.py +++ b/src/qq_plugins/to_do.py @@ -17,7 +17,7 @@ async def show_todo_list(message: MessageEvent): result = get_user_todo_list(member_openid) if result is False: - await get_todo_list.finish("您还未创建任何待办\n尝试使用 /新建待办 创建一份吧") + await get_todo_list.finish("\n您还未创建待办\n快使用 /新建待办 创建一份吧") todo_list = "" count = 0