Ver código fonte

Add missing message to Arg injector

Kirk Trombley 4 anos atrás
pai
commit
ad4e2feba9
1 arquivos alterados com 3 adições e 1 exclusões
  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: