Преглед на файлове

fix number parsing exceptions

Mike L преди 3 години
родител
ревизия
92b5863963
променени са 4 файла, в които са добавени 7 реда и са изтрити 4 реда
  1. 3 1
      dist/command.js
  2. 1 1
      dist/koishi.js
  3. 2 1
      src/command.ts
  4. 1 1
      src/koishi.ts

+ 3 - 1
dist/command.js

@@ -24,6 +24,8 @@ function parseCmd(message) {
 }
 exports.parseCmd = parseCmd;
 function view(_chat, args, reply) {
+    if (!Number.isInteger(Number(args[0])))
+        return reply('查询格式有误。格式:/nanatsuu_view〈整数〉');
     twitter_1.queryByRegExp('t7s_staff', /今週の『それゆけ!ナナスタ☆通信』第(\d+)話はこちら!/, 3600 * 24 * 6)
         .then(match => {
         if (!match)
@@ -32,7 +34,7 @@ function view(_chat, args, reply) {
         if (query < 0)
             query += Number(match[1]);
         if (args[0] === '0' || query < 0 || query > Number(match[1])) {
-            return reply(`查询取值范围有误。当前可用的取值范围:1~${Number(match[1])}`);
+            return reply(`查询取值范围有误。当前可用的取值范围:${1 - Number(match[1])}~${Number(match[1])}`);
         }
         reply(`第 ${query} 话:\n` +
             koishi_1.Message.Image(`https://d2n19nac4w0gh6.cloudfront.net/resource/images/webview/comic/story/comic_${String(query).padStart(3, '0')}.jpg`));

+ 1 - 1
dist/koishi.js

@@ -182,7 +182,7 @@ class default_1 {
                         break;
                     case 'help':
                         if (cmdObj.args.length === 0) {
-                            reply('Nanasta 通信搬运机器人:\n/nanatsuu_view - 查看指定的 Nanasta 通信话数');
+                            reply('Nanasta 通信搬运机器人:\n/nanatsuu_view〈整数〉- 查看指定的 Nanasta 通信话数');
                         }
                 }
             }), true);

+ 2 - 1
src/command.ts

@@ -29,13 +29,14 @@ function parseCmd(message: string): {
 }
 
 function view(_chat: IChat, args: string[], reply: (msg: string) => any): void {
+  if (!Number.isInteger(Number(args[0]))) return reply('查询格式有误。格式:/nanatsuu_view〈整数〉');
   queryByRegExp('t7s_staff', /今週の『それゆけ!ナナスタ☆通信』第(\d+)話はこちら!/, 3600 * 24 * 6)
     .then(match => {
       if (!match) throw Error();
       let query = Number(args[0] || Number(match[1]));
       if (query < 0) query += Number(match[1]);
       if (args[0] === '0' || query < 0 || query > Number(match[1])) {
-        return reply(`查询取值范围有误。当前可用的取值范围:1~${Number(match[1])}`);
+        return reply(`查询取值范围有误。当前可用的取值范围:${1 - Number(match[1])}~${Number(match[1])}`);
       }
       reply(`第 ${query} 话:\n` +
         Message.Image(`https://d2n19nac4w0gh6.cloudfront.net/resource/images/webview/comic/story/comic_${

+ 1 - 1
src/koishi.ts

@@ -198,7 +198,7 @@ export default class {
           break;
         case 'help':
           if (cmdObj.args.length === 0) {
-            reply('Nanasta 通信搬运机器人:\n/nanatsuu_view - 查看指定的 Nanasta 通信话数');
+            reply('Nanasta 通信搬运机器人:\n/nanatsuu_view〈整数〉- 查看指定的 Nanasta 通信话数');
           }
       }
     }, true);