Comments (4)
重命名
- 重命名项目为
simbot-component-qq-guild
,包路径中的所有tencentguild
重命名为qguild
,依赖坐标中tencent-guild
重命名为qq-guild
api模块
- 所有API构造方法私有化,开放工厂函数
- 部分内容更新调整(不兼容性)
- 不再依赖、实现
simbot-api
模块。api模块将成为完全、纯粹的QQ频道API实现,没有任何多余依赖(除kotlinx.serialization、ktor等必需品),ID等属性也直接作为字符串等标准类型 - 各API提供直接的
data class
数据模型实现(以前是仅暴露接口,隐藏数据类实现)。API返回值直接使用数据模型,不再做内部实现隐藏。
标准库模块
- 标准库不再实现
simbot
相关模块,将作为纯粹的QQ频道事件连接、简单事件调度的模块。 - 优化、完善事件类型(和其他opcode类型)的解析,使得API更直观、应用更简单、逻辑更清晰,也更易于维护。
- bot配置内容调整,实现内容调整
- 调整内部的连接、重连等逻辑,内部逻辑替换为状态循环的方式简化、拆解各步骤。
组件模块
- 组件中相关类型命名以
QQGuild
、QG
开头为主。 -
提供QGBot
、QGGuild
内部的内建缓存机制,尝试着实现在条件满足的情况下内建缓存来避免API调用,并支持条件不足的情况下降级。 - 相当于重新实现了各个类型
- 事件调度(初始化)机制调整,
内建缓存的更新、事件信息初始化、事件调度逻辑更紧密通顺,且处于同一个标准库事件中。
from simbot-component-qq-guild.
内建**缓存,反正api又没请求限制
from simbot-component-qq-guild.
重构基本完成,但是效果仍需观察
from simbot-component-qq-guild.
持续几天的运行已经是可以的了
from simbot-component-qq-guild.
Related Issues (19)
- 如何与 mirai 一起使用? HOT 2
- 完善子频道结构
- 实现完整事件 HOT 1
- 完善事件同步 HOT 1
- 频道服务器信息同步(初始化)时的权限不足处理 HOT 1
- `TencentMemberInfoImpl` 反序列化异常
- 事件类型 `PUBLIC_MESSAGE_DELETE` 解析错误 HOT 3
- 当未监听变更相关事件时,变更信息同步策略 HOT 1
- 成员信息同步时权限不足 HOT 1
- `TencentChannelInfoImpl` 反序列化失败 HOT 1
- 没有支持multipart/form-data消息发送 HOT 3
- 改善事件实现。现在 TcgGuildMemberEvent 实现 MemberChangedEvent,TcgGuildMemberEvent.Increase 实现 GuildMemberIncreaseEvent,TcgGuildMemberEvent.Decrease 实现 GuildMemberDecreaseEvent HOT 1
- 支持可配置的传递性缓存
- 考虑支持对子频道和频道成员的动态缓存 HOT 2
- 所有id相关属性的类型调整为无符号长整型 HOT 1
- Unknown reason, bot will be closed
- 实现帖子API HOT 1
- 发送私信消息产生 `kotlinx.serialization.MissingFieldException` 异常 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from simbot-component-qq-guild.