Xin Li
Xin Li
今天突然bot被冻结了,原因是“因使用非官方QQ客户端”,以前从来没遇到过该问题   ``` ``` #### 复现 第一次出现这个问题,以前从来没因为“非官方QQ客户端”被冻结过 #### 版本及相关选项选择 - mirai-core: 2.2.2 - bot-protocol: `ANDROID_PAD - mirai-native: 2.0.0.beta1 #### 网络日志 ``` [2021-08-05.log](https://github.com/mamoe/mirai/files/6939158/2021-08-05.log) #### 补充信息
发送群消息错误 46
### 问题描述 今天bot被冻结了一次,解冻后登陆发现无法正常发送消息。会抛出exception异常  ### 复现 发送一条机器人指令,bot回复时报错,100%复现,尝试更换登陆协议后仍然无法发送消息。 ### mirai-core 版本 2.10.0 ### bot-protocol ANDROID_WATCH ### 其他组件版本 mirai-native:2.0.0 ### 系统日志 ```text [0m2022-07-01 22:37:25 V/Net 1845605751: Loading server list from cache.[0m [92m2022-07-01...
### 问题描述 今天bot被冻结了一次,秒解冻之后再次登陆,就出现了下图所示报错(100%复现)  我尝试在当前版本(2.10.0)删除device.json文件夹内的所有文件,重新登陆后依然出现上图报错。 有趣的是,当我使用相同版本的mirai(2.10.0),登陆另外一个QQ时,却可以正常登陆。 我又尝试用这个问题QQ登陆旧版mirai(2.9.0),也能正常登陆。 使用相同版本的mirai(2.10.0),将协议切换成pad或者watch,也可以正常登录 ### 复现 1.登陆问题bot QQ 2.提示“当前版本过低,请升级到QQ最新版本”的登陆失败消息 3.重新登陆后问题依然存在 4.删除device.json所在目录的全部文件后重新登陆,问题依然存在 5.切换协议至pad/watch,使用其它版本(旧版)mirai登陆问题QQ,或使用当前版本登陆其它QQ,则没有问题 ### mirai-core 版本 2.10.0 ### bot-protocol ANDROID_PHONE ### 其他组件版本 mirai-native 2.0.0-beta.1 ### 系统日志 [0m...
8.8.11 以后版本的手Q(也包括 IOS 和 ipad)和PC内测版(http://dldir1.qq.com/qqfile/qq/PCQQ9.5.2/QQ9.5.2.27899.exe )已经支持频道。相比QQ群,单个QQ频道人数可达10w。希望native后续能支持QQ频道消息。 频道是 GUILD,并且每个频道有一个 ID。频道内有子频道,相当于一个小群。可以设置部分人发言、发言频率等。界面上跟 discord 很相似。 可以通过以下链接加入QQ频道: https://qun.qq.com/qqweb/qunpro/share?_wv=3&_wwv=128&inviteCode=1nL0F4&from=114514&biz=ka 研究了一下,频道相关的通讯跟其他消息不是同一个协议。这个协议在手机QQ上都是通过一个 com.tencent.gprosdk.IGProSdkWrapper 接口实现,而安装包中唯一实现这个接口的类是 com.tencent.gprosdk.IGProSdkWrapper$CppProxy。故名思意,都是在 native 代码中实现的。 以下是相关文件 [IGProSdkWrapper$CppProxy.zip](https://github.com/mamoe/mirai/files/7490990/IGProSdkWrapper.CppProxy.zip) [libgpro.zip](https://github.com/mamoe/mirai/files/7490991/libgpro.zip) 在 PC 端,则是通过 gpro.win32.node 这个 dll 进行通讯,所以也是在 native...
**描述这个Bug** 机器人运行一段时间后,出现“OpenJDK Plaform binary”的错误提示 **复现步骤** bot运行一段时间后就会出现该问题,最近比较频繁,可能几个小时就会出现一次 **期望的行为** 希望遇到该错误后,能够自动重启native(或者也可以直接关闭mirai,我这边可以结合其它脚本来实现 mirai进程崩溃后自动重启),使得bot能够持续运行,而不是一直挂起在错误弹窗页面。 **截图和日志**  **运行环境** 操作系统:Windows Server 2016 mirai core 版本:1.3.1 mirai console 版本:1.0-RC-dev-29 mirai native 版本:1.9.3 Java 运行时版本:1.8.0 252 **更多信息** 如果有其他相关的信息可以填写在此处。
原文如下: 时间复杂度:O(n) 空间复杂度:O(log n),算上递推系统栈的空间 //感觉这里的空间复杂度似乎没有算上unordered_map的空间开销?遍历整个二叉树的时候,会将所有的节点存入unordered_map,所以空间复杂度应该为O(n)? 原文链接:https://programmercarl.com/0337.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8DIII.html#%E8%AE%B0%E5%BF%86%E5%8C%96%E9%80%92%E6%8E%A8
对称二叉树 勘误
使用栈 代码9-10行 TreeNode* leftNode = st.top(); st.pop(); TreeNode* rightNode = st.top(); st.pop(); 这里最好交换一下顺序,先pop 给right,然后给left,因为栈的push和pop顺序是反过来的。 原文:https://programmercarl.com/0101.%E5%AF%B9%E7%A7%B0%E4%BA%8C%E5%8F%89%E6%A0%91.html#%E6%80%9D%E8%B7%AF
原文: 注意版本一的代码中,可以看出来,是先遍历的胃口,在遍历的饼干,那么可不可以 先遍历 饼干,在遍历胃口呢? 其实是不可以的。 外面的 for 是里的下标 i 是固定移动的,而 if 里面的下标 index 是符合条件才移动的。 如果 for 控制的是饼干, if 控制胃口,就是出现如下情况 : //其实先遍历 饼干,再遍历胃口也是**可以**的。 思路:从后往前遍历每个饼干和胃口,遍历每个饼干时,如果胃口过大,就while循环一直减小胃口,直到胃口=0; index_s--){ while(index_g>=0 && s[index_s]=0){ index_g--; res++; }...
文中以下内容: 然后再用栈来模拟**后序遍历**,遍历每一个节点的时候,再去判断左右孩子的高度是否符合,代码如下: //感觉实际上应该是**前序遍历**?先对中间节点进行判断(左右子树高度差),然后才分别将左右孩子压入栈中,继续迭代? 原文:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html#%E6%9C%AC%E9%A2%98%E6%80%9D%E8%B7%AF
原文:之前我们讲栈与队列的时候,就说过栈其实就是递归的一种实现结构,也就说前中后序遍历的逻辑其实都是可以借助栈使用**非递归**的方式来实现的。 更正:之前我们讲栈与队列的时候,就说过栈其实就是递归的一种实现结构,也就说前中后序遍历的逻辑其实都是可以借助栈使用**递归**的方式来实现的。 来源:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html