浏览代码

Add missing message to Arg injector

Kirk Trombley 4 年之前
父节点
当前提交
ad4e2feba9
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      lib/rollbot/injection/args.py

+ 3 - 1
lib/rollbot/injection/args.py

@@ -61,12 +61,14 @@ class Arg(Injector[ArgType]):
         convert: Callable[[str], ArgType] = str,
         required: bool = True,
         default: Optional[ArgType] = None,
+        missing_msg: Optional[str] = None,
         fail_msg: Optional[str] = None,
     ):
         self.index = index
         self.convert = convert
         self.required = required
         self.default = default
+        self.missing_msg = missing_msg or f"Missing argument {self.index}"
         self.fail_msg = fail_msg or "Invalid argument: {}"
 
     def arg_source(self) -> Injector[list[str]]:
@@ -77,7 +79,7 @@ class Arg(Injector[ArgType]):
             arg = (await self.arg_source().inject(message, context))[self.index]
         except IndexError:
             if self.required:
-                RollbotFailure.INVALID_ARGUMENTS.raise_exc(detail=f"Missing argument {self.index}")
+                RollbotFailure.INVALID_ARGUMENTS.raise_exc(detail=self.missing_msg)
             else:
                 return self.default
         try: