Frequently Asked Questions ========================== How to check if the script is operational ? ------------------------------------------- To check whether the provided script is operational or not, use the following command which first check the configuration files and then run the bot. .. code-block:: bash $ python3.6 shellbot.py --check To check the configuration without running the bot, use .. code-block:: bash $ python3.6 shellbot.py --check-only How to create commands? ----------------------- The first step to creating a command is determine its **name** and its **arguments**. Different kind of arguments are available: Positional ~~~~~~~~~~ .. code-block:: bash $ cat file # `file` is a positional argument Optional ~~~~~~~~ Definition """""""""" Optional and explicitely named. Example """"""" .. code-block:: bash $ cat --help # --help is an optional argument Note """" Optional argument may be exclusive or inclusive, i.e. accept or not conflicts with other optional arguments. Those two types are the base types for arguments. However, it is possible to change their behaviour. The following types of arguments are not UNIX-based but they simplify sometimes the implementation of a command. Weak ~~~~ Definition """""""""" Optional argument with a default value set to **SUPPRESS**, that is a singleton for an inexistant argument. Behaviour """"""""" A weak argument is not parsed and the coroutine implementing the command must then have a default keyword argument to avoid errors. Other weak options """""""""""""""""" .. code-block:: bash weak + positional + inclusive # weak_posin weak + optional + inclusive # weak_optin weak + optional + exclusive # weak_optex Note """" Optional exclusive arguments are part of an exclusive argument group. An error is raised when two optional exclusive arguments of the same group are present at the same time.