# Aki
Aki 是 CCZU OSA 编写的一个基于 [NoneBot] 的一个功能型 QQ 机器人核心,具有常见的查询天气、订阅新闻、运行代码、智能聊天等功能。目前 Aki 以机器人**奶茶**(QQ 号 `1647869577`)作为表现层。
[NoneBot]: richardchien/nonebot
仍在编写中,现在功能还很不完善……
## 运行
本项目基于 [NoneBot],因此在尝试运行本项目之前,请先了解 NoneBot 的使用。
```bash
# 克隆代码
git clone .git
cd aki
# 创建虚拟环境
python -m venv venv
.\venv\Scripts\activate # Windows
source ./venv/bin/activate # Linux
# 安装依赖
pip install -r requirements.txt
# 运行
python run.py
```
### 配置
要修改配置,可以在项目根目录新建文件 `config_dev.py`,导入 `config_base.py` 之后修改,例如:
```python
from config_base import *
SUPERUSERS = {1234567}
```
`run.py` 默认会尝试导入 `config_dev`(开发环境配置),要部署到生产环境,需要创建 `config_prod.py` 并设置环境变量 `DEPLOYMENT_ENV` 为 `production` 或 `prod`。
### 云服务的 API Key
部分插件需要使用云服务商提供的 API,包括 [百度 AI 平台](https://ai.baidu.com/)、[图灵机器人](http://www.turingapi.com/)、[和风天气](https://www.heweather.com/) 等,如需使用相应功能,请前往相应服务商注册账号并申请 API key,按照 `config_base.py` 的注释填写。
### 数据库
部分插件需要使用数据库进行数据持久化,包括 RPG 游戏、活动报名功能、计划任务和订阅功能等。Aki 使用 PostgreSQL 数据库,要使用需要数据库的功能,请先运行 PostgreSQL 数据库实例,然后修改 Aki 配置文件的 `DATABASE_URL`:
```python
from config_base import *
DATABASE_URL = 'postgresql://user:pass@host:port/database'
```
然后复制 `alembic.ini.sample` 为 `alembic.ini`,修改 `sqlalchemy.url`:
```ini
sqlalchemy.url = postgresql://user:pass@host:port/database
```
在运行 Aki 之前,需要首先运行下面命令以创建数据库表结构:
```bash
alembic upgrade head
```
## 开发
首先按上面的说明运行 Aki(请将开发环境配置放在 `config_dev.py` 模块,不要被 Git 追踪),然后即可进行开发。
通常,添加新的功能只需要在 `aki/plugins` 里面添加新的 NoneBot 插件即可。如需添加配置项,请在 `config_base.py` 中加入相应项,并赋予默认值。
`aki.cache`、`aki.command`、`aki.dt`、`aki.fs`、`aki.helpers`、`aki.log` 等模块分别提供了缓存、命令、时间、文件系统、日志等相关的辅助函数,可以利用。
`aki.db` 模块提供了 [Gino](http://gino.fantix.pro/zh/latest/) 数据库对象,用于注册数据库模型和访问数据库。具体使用方法请参考 Gino 的官方文档,由于此文档不是很详细,可能需要同时参考 [SQLAlchemy](https://docs.sqlalchemy.org/en/latest/) 的文档(Gino 是基于 SQLAlchemy 的)。
如需增加或修改数据库表结构(比如添加或修改了 ORM 模型类),则需要创建数据库迁移脚本,参考 [Create a Migration Script](https://alembic.sqlalchemy.org/en/latest/tutorial.html#create-a-migration-script)。迁移脚本的编写可以参考现有的其它脚本。
**注意,由于数据库操作相对比较危险,容易破坏现有数据,请务必在本地开发环境数据库中测试无误再提交代码。**
## 期望实现的架构
![架构](assets/架构.png)
## 开源许可证
本项目使用 [AGPLv3 许可证](LICENSE),这意味着你可以使用本项目运行你的机器人,并向你的用户提供服务,但如果你需要对项目的源码进行修改,则必须将你修改后的版本对你的用户开源。
由于本项目的特殊性,本项目的源码中出现在 NoneBot 文档的部分(例如作为其示例代码),不使用 AGPLv3 许可,而使用和 NoneBot 一样的 MIT 许可。
免责声明:
1.本资源仅供学习和交流使用,不保证其准确性、完整性、及时性或适用性。
2.本资源仅包含一般信息,不构成专业建议。在使用本资源时,请务必自行研究并谨慎决策。
3.我已尽力确保本资源的正确性和合法性,但不对其准确性、完整性和及时性做出保证。
4.本资源不应用于商业用途。
5.在使用本资源的过程中,用户应自行承担所有风险和责任,并遵守相关法律法规。
6.对于因使用本资源而产生的任何损失或损害,我概不负责。
请确保在使用本资源时仔细阅读并遵守以上免责声明。如果您有任何疑问或需要进一步帮助,请联系我。
没有合适的资源?快使用搜索试试~ 我知道了~
奶茶机器人核心-aki.zip
共142个文件
py:77个
png:27个
html:21个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 186 浏览量
2024-01-31
20:26:32
上传
评论
收藏 20.51MB ZIP 举报
温馨提示
奶茶机器人核心-aki
资源推荐
资源详情
资源评论
收起资源包目录
奶茶机器人核心-aki.zip (142个子文件)
style.css 3KB
.gitignore 2KB
订阅.html 4KB
知乎.html 2KB
成语词典.html 2KB
天气.html 2KB
Bilibili.html 2KB
Pastebin.html 2KB
笔记本.html 2KB
随机.html 2KB
亲戚关系计算器.html 2KB
index.html 2KB
吃什么.html 1KB
airAnime.html 1KB
运行代码.html 1KB
段子.html 1KB
跟我说.html 1KB
点歌.html 1KB
签到.html 1KB
公式.html 1KB
一言.html 1KB
智能聊天.html 906B
复读机.html 299B
genpage.js 1003B
build.js 765B
package-lock.json 13KB
package.json 254B
LICENSE 34KB
LICENSE 1KB
script.py.mako 494B
README.md 5KB
README.md 557B
NotoSansCJKsc-Regular.otf 15.65MB
订阅.png 360KB
知乎.png 354KB
osa-logo.png 321KB
天气.png 300KB
成语词典.png 299KB
Pastebin.png 278KB
index.png 232KB
airAnime.png 214KB
笔记本.png 211KB
Bilibili.png 196KB
随机.png 188KB
亲戚关系计算器.png 188KB
运行代码.png 179KB
点歌.png 178KB
段子.png 171KB
跟我说.png 161KB
公式.png 156KB
吃什么.png 150KB
签到.png 146KB
一言.png 132KB
智能聊天.png 116KB
复读机.png 83KB
架构.png 54KB
music-gaobaiqiqiu.png 24KB
music-xingkong.png 17KB
prism.png 9KB
equation.png 2KB
relationship.py 47KB
__init__.py 13KB
sponsor.py 10KB
_red_packet.py 6KB
__init__.py 6KB
subscribe.py 6KB
data_source.py 6KB
__init__.py 5KB
__init__.py 5KB
__init__.py 5KB
timeline.py 4KB
scheduler.py 4KB
participator.py 4KB
code_runner.py 3KB
data_source.py 3KB
dao.py 3KB
music.py 3KB
command.py 3KB
index.py 3KB
nlp.py 2KB
message_collector.py 2KB
lunch.py 2KB
requests.py 2KB
data_source.py 2KB
env.py 2KB
__init__.py 2KB
_signin.py 2KB
pastebin.py 2KB
random.py 2KB
_remote_send.py 2KB
airanime.py 2KB
tex.py 2KB
881080518230_init.py 2KB
speak.py 2KB
man.py 2KB
zhihu.py 1KB
__init__.py 1KB
expressions.py 1KB
signin.py 1KB
models.py 1KB
共 142 条
- 1
- 2
资源评论
武昌库里写JAVA
- 粉丝: 3180
- 资源: 1886
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功