Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[功能请求] (有滥用可能) Lua 实现自定义功能实现 #592

Closed
HiSuzume opened this issue Aug 23, 2023 · 2 comments
Closed

[功能请求] (有滥用可能) Lua 实现自定义功能实现 #592

HiSuzume opened this issue Aug 23, 2023 · 2 comments
Labels

Comments

@HiSuzume
Copy link

HiSuzume commented Aug 23, 2023

QQ(TIM)版本/QQ(TIM) Version

Tim 3.5.1(QQ/Tim 任意版本)

为什么你认为需要此功能

简单版:让每个人都能自给自足,缓解贡献者压力。

原文:我认为,有时候有些人本来有能力提交功能请求,但却害怕于调试,害怕繁琐的过程,以及庞大的 IDE 配置,因此,我觉得应该为这个模块添加一个接口,使每个人都能为自己的 QQ/Tim 版本定制一个对应的功能脚本,满足了个人,也可以对贡献者们缓解一定的压力。

可能导致的一些坏处:

  1. 被恶意加密的病毒脚本导致用户损失
  2. 自定义脚本的执行导致 QQ/Tim 不断崩溃
  3. QA 项目可能后续的功能开发进度减缓

联系到哪些已经存在的bug或者功能

QN 模块原有的 Java 脚本(这是基于 BeanShell 的,而且原作者只打算用于消息处理)

具体功能需要/Specific features require

  1. 首先为项目添加 LuaJ,建议使用支持中文且支持 Java 方法、对象等调用的版本。

  2. 然后开放类似于 CommonSwitchFunctionHook.kt 的功能接口,并在 Lua 脚本中定义方法(定义后可在 QA 的功能设置找到,例如 净化→群聊 处),实现功能热修改,并且不局限于消息的处理,而是整个 QQ/Tim 的自定义。

  3. 开放脚本管理器,类似 QTool/菜豆。存储位置建议在 QQ/Tim 的外部私有存储 (/sdcard/Android/....../)

  4. 最后为 QA 用户提供一个开发文档,使每个想添加功能的人都不局限于 Kotlin 语言的生疏以及对项目 PR 的恐惧,自给自足。

备注:请贡献者们慎重考虑是否添加这个功能,因为具有一定未知性,还只是一个想法罢了。同时祝 QA 能走的更远,让更多贡献者与 QA 共享快乐!

@cinit
Copy link
Owner

cinit commented Aug 23, 2023

如果一个功能可能被滥用,那它就一定会被滥用。参考先前的 QQ 复读机的脚本的情况来看,并不乐观,因此我不想加这个功能。确实有需要的用户应该自行学习必要的程序开发基础。

@cinit cinit closed this as not planned Won't fix, can't repro, duplicate, stale Aug 23, 2023
@HiSuzume
Copy link
Author

如果一个功能可能被滥用,那它就一定会被滥用。参考先前的 QQ 复读机的脚本的情况来看,并不乐观,因此我不想加这个功能。确实有需要的用户应该自行学习必要的程序开发基础。

谢谢,我会尽力的👋

@HiSuzume HiSuzume changed the title [功能请求] 使用 Lua 实现自定义功能实现 [功能请求] (有滥用可能) Lua 实现自定义功能实现 Aug 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants