funnygeeker / keiyume

溪梦框架:依赖go-cqhttp运行,简单易用的qq框架,适合入门级开发者~

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

溪梦框架

!> 本框架为早期版本,这意味着本框架并不成熟,而且框架内会有很多作者自己都不知道怎么想的脑残设计。在编写插件时您可能会发现教程的缺失,后续您编写的插件也不能保证长期兼容最新框架。如果你有自己的想法,可以和我们一起改进框架。

框架简介

  • 使用 Python3 开发,通过 go-cqhttp 的 api 接口运行的简易框架, 并对 go-cqhttp 部分 api 和 event 以函数的形式做了简易封装。

  • 软件生态,代码规范,以及设计合理性可能远远不及 NoneBot,请各位新手慎重参考本框架里边的代码!

  • 本说明文档目前还在进一步完善中...

  • 早期版本可前往 Release 下载

由于一时半会读不懂 NoneBot 的插件开发文档,索性自己写了一个框架的屑萌新。等到写完框架,发现读懂了。

我们希望通过不断设计和完善这个框架,来提高我们的代码水平和代码质量。故作此框架以练手。此一早期版本,望各位大佬轻喷!

!>注意: 由于溪梦框架仍在开发中,暂未发布正式版,本文档将仅保留最新版的文档,被遗弃的功能将会从文档中删除,如有需要,请在旧版本的 Release 中下载源码,并在解压后的 docs 目录查找文档

!>注意:2.0 正式版发布前插件规范可能会频繁迭代,如果您是插件开发者,请密切关注最新版插件开发文档,以保证插件对最新框架的兼容性。

问题反馈

您可以通过 兔小巢 或者 Github 又或者 加入QQ群 向我们反馈问题和提出建议

查看说明文档

社区服务器:溪梦文档站 (最新消息和内容) 稳定服务器:Github Pages (稳定的服务器)

框架原理

执行流程

  • 启动框架时,会先加载基本配置文件,根据配置文件设置日志记录器(提示:DEBUG模式可以查看更多详细日志)
  • 当框架每接收到一个来自 go-cqhttp 上报的消息,将会为对应的消息开一个单独的线程,用于处理消息
  • 收到消息后调用插件,每个插件分别处理消息,并修改消息的原始内容(如果需要)然后根据优先级顺序,传递给后续插件
  • 如果有出现调用 go-cqhttp api 的情况,将会在调用 api 后阻塞线程,等待主线程接收到返回值后继续
  • 接收到消息的 api 函数会返回结果数据,若超时则可能会报错并返回 None
  • 对应消息线程的所有插件执行结束后,线程将被关闭

线程说明

  • 本框架采用多线程,每条消息的处理都会单独开一个线程,消息处理完毕则关闭线程
  • 主线程:管理基本的通信,每接收到消息则新开一个线程处理消息
  • 命令线程:用于处理在控制台上输入的命令。
  • 任务线程:由 APScheduler 管理计划任务。
  • 消息线程:数量不定,用于处理消息。

版本要求

  • 仅支持 Python3.7 或更高的 Python3 版本,框架开发环境为 Python3.8,后续可能仅支持 Python3.8 以及之后的版本。

通信方式

  • 与 go-cqhttp 进行 正向 WebSocket 通信(在 go-cqhttp 生成配置文件时选择2)

注意事项

  • 框架中的部分代码可能存与 Python 代码标准标准不一致的部分
  • 请各位小白慎重参考其中的代码,以免出现不好的习惯!
  • 若框架存在设计缺陷或规范缺陷,请指出,感激不尽!

!> 此文档为早期版本,说明并不完善。也有可能存在错误。如遇错误,请加群进行反馈,或在 Github 中提出。

运行截图

image

About

溪梦框架:依赖go-cqhttp运行,简单易用的qq框架,适合入门级开发者~

License:GNU Affero General Public License v3.0


Languages

Language:Python 100.0%