jixunmoe / jjBot

Just another Javascript Bot for webqq (not maintained anymore)
MIT License
31 stars 13 forks source link

jj/指令 只会执行一次检测 #8

Closed NijiharaTsubasa closed 9 years ago

NijiharaTsubasa commented 9 years ago

经检查问题出在Bot.Looper.js

cleanup: function (bForce) {
 if (bForce || this.status == 2) {
  // 已经用过的数据就清掉。Check vfcode...
  this.data.splice(0, this.index);

↑03.parse-cmd.js返回false后,Looper删掉了注册的msg事件

但是注释掉这行的话,会在机器人的第二条回复(无论第一条、第二条是不是解析指令产生的)报下面的错,不注释掉没问题 错误出在读取msg对象时,本来应该是msg的变量成了undefined

TypeError: Cannot read property 'isGroup' of undefined
    at Object.CoreBot._sendMsg (D:\fakepath\jjBot\core.d\Bot.Core.js:515:20)
    at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

此外,无论这行是否存在,使用jj/money指令的时候会报一个出错原因完全一样的错,怀疑是同一个地方的问题导致的

TypeError: Cannot read property 'nick' of undefined
    at D:\fakepath\jjBot\plug.d\uc.d\money.js:9:45
    at Object.<anonymous> (D:\fakepath\jjBot\core.d\Bot.Plugin.js:298:29)
    at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)

(不要吐槽fakepath那里原本是堆乱码

jixunmoe commented 9 years ago

等我回家上你vps 看看

On Tue, 6 Jan 2015 07:46 NijiharaTsubasa notifications@github.com wrote:

经检查问题出在Bot.Looper.js

cleanup: function (bForce) { if (bForce || this.status == 2) { // 已经用过的数据就清掉。Check vfcode... this.data.splice(0, this.index);

↑03.parse-cmd.js返回false后,Looper删掉了注册的msg事件

但是注释掉这行的话,会在机器人的第二条回复(无论第一条、第二条是不是解析指令产生的)报下面的错,不注释掉没问题 错误出在读取msg对象时,本来应该是msg的变量成了undefined

TypeError: Cannot read property 'isGroup' of undefined at Object.CoreBot._sendMsg (D:\fakepath\jjBot\core.d\Bot.Core.js:515:20) at Timer.listOnTimeout as ontimeout

此外,无论这行是否存在,使用jj/money指令的时候会报一个出错原因完全一样的错,怀疑是同一个地方的问题导致的

TypeError: Cannot read property 'nick' of undefined at D:\fakepath\jjBot\plug.d\uc.d\money.js:9:45 at Object. (D:\fakepath\jjBot\core.d\Bot.Plugin.js:298:29) at Timer.listOnTimeout as ontimeout

(不要吐槽fakepath那里原本是堆乱码

— Reply to this email directly or view it on GitHub https://github.com/JixunMoe/jjBot/issues/8.