Sunshine40
Sunshine40
### Think of this scenario: I’m working on a go package, which is intended to be open-source. But the original dev team consists of native Chinese speakers only. Meanwhile, I...
第一个问题,目前爬虫的实现方式,是否依赖于浏览器打开雀魂网页版实际进行观战,然后用js进行数据分析处理——也就是没法做到脱离雀魂官方(网页)客户端,独立处理观战/牌谱数据? 第二个问题,我看到本代码库当中的js源代码的编码风格,有比较明显的工具链生成痕迹,且没有看到注释,请问这些代码是通过原始代码+部署流程自动化生成的吗?请问作者是否愿意开源原始代码,以及部署(生成可执行js)的方式呢?
对重构提点建议
@NekoRabi 听说你想重构项目,框架选型这方面我了解得不够,不多发表评论。 如果有条件,我建议你可以考虑**把机器人命令的dispatcher逻辑解耦出来**。 dispatcher是说啥呢?就是看到一句话,决定要用什么功能模块去响应这句话的这段(分类)逻辑。 目前的设计,所有的命令处理程序各自为政,每个命令Handler都订阅了整个消息事件,然后自行判断是否要响应。 像这样的设计,如果没有更复杂的需求,那么简单的模式就是好的。但是**像这样自由的处理模式,要在其上扩展就得要打一个接一个的补丁**。 举个最简单的例子: 你有一个help命令,展示所有命令一览。 同时,你又把命令所匹配的模式,从硬编码改为了可以通过command.yml来配置。 但是,如果在command.yml当中修改了命令的关键词(模式),那么help里的命令说明是不会有所反映的。 也就是说,虽然形式上比起硬编码的命令模式,似乎通过配置文件集中化地对命令模式进行自定义管理。 但实际上,和命令的调用条件相关的逻辑,还是分散在了各个响应程序中(基本全是正则),和help字段的手动配置(位置还和command.yml不在一处) **那么把help的配置也转移到command.yml当中怎样呢?** 我觉得这要看你的野心。 如果你的想法是,能用就好,命令响应就按现在的模式,help的展示就意思意思,有空就改一改配置的位置,没空就放着它,改命令模式需要command.yml和help字段改两遍就改两遍。那维持现在的架构就好。 不知道你有没有了解过[langchain](https://github.com/hwchase17/langchain)?它的指导思想,就是把一个个功能模块,封装成叫做“工具”的接口。 “工具”不负责判断要不要响应输入,它只负责把输入处理好返回预期的输出。 大语言模型来负责决定,面对不同的发言,需要使用哪些“工具”。 而我的建议就是,对本项目的机器人,建立起一套“命令”的规范,其本质,就是上面说的这种“工具”。 这套规范的第一版实现,所使用的技术和现有版本可以一模一样。 但只要时机成熟,就可以把“监听到聊天发言”->“调用相关模块”中间的dispatching步骤,由现在的正则表达式匹配,改为由langchain来控制。 主要还是看你对这个项目有多少野心。**如果想要做得更好,重构的时候顺便拔高一点架构设计,是利大于弊的。** 一点点个人意见,仅供参考。
我举个例子,玩家“Sunshine”在国际中文服,日服,国际服(英文服)各有一个同名账号——这3个账号都是我本人持有的号。 雀魂是允许不同服玩家同名的。而对于这种情况雀魂pt插件甚至会出现数据库唯一约束冲突。 此外,插件还不区分大小写,但对于某些英文玩家名称而言,大写版本和小写版本就是不同的玩家(例如玩家“sunshine”和“Sunshine”是不同的玩家),先默认他们是同名玩家再要求用参数来区分就不合理。
#1081 has been stuck for a while, so I tried implementing my own version. [Preview the search functionality online](https://nomicon.purewhite.io/) Inspired by #1496. ### Major implementation steps: - [ ] Land...
This PR implements the `search-non-english` feature, inspired by #1496. Configure `book.language` like this: ``` [book] author = ["The Rust Project Developers", "Pure White."] title = "Rust 秘典(死灵书)" description = "Unsafe...
https://github.com/mattico/elasticlunr-rs/blob/29d97e4c8e91bb0d1813716fb2d1575066344d76/src/inverted_index.rs#L40-L42 During index building, `elasticlunr-rs` iterates over the token `&str`'s content in [Unicode Scalar Values](https://doc.rust-lang.org/std/primitive.str.html#method.chars). While the JS library does it in this way: ```js elasticlunr.InvertedIndex.prototype.addToken = function (token, tokenInfo,...
### Motivation Currently, `heapless::String` takes 48 bytes and `Option` takes 56 bytes on 64-bit target platforms. We could save up to 14 / 21 bytes respectively and remove the `align(8)`...
### 🐛 描述 使用战网账号切换功能,账号本身能够正常切换,但是切换后自动启动战网客户端并从中启动炉石传说后,炉石插件火石记牌器无法正常读取内存以提供记牌器功能。 关闭 Watt Toolkit 打开的战网并以常规方式重新启动战网平台(此时账号已成功切换)则火石插件恢复正常。 ### 📷 复现步骤 1. 安装(网易国服)[战网+炉石传说](https://hs.blizzard.cn/home.html)、[Firestone](https://www.firestoneapp.com/)(火石) 2. 启动炉石客户端,确认记牌器功能正常工作(使用借用套牌或预组核心套牌进入休闲对战,或进入竞技场选牌看右侧是否有插件**额外展示**的卡组栏目即可检验) 3. 在 Watt Toolkit 中设置好战网路径,保存多个待切换的账号 4. 点击想要登陆的账号,进行切换 5. 在自动打开的战网客户端中启动炉石传说 6. Firestone 记牌器提示内存读取错误,部分功能不可用(记牌器功能无法工作,任务进度提示气泡可以工作) 7. 关闭 Watt...