It is essential to understand that Var represents not just a variable in general but a specific "placement" of that variable in the code while the classes like LocalVariable or StateVariable etc. represent the variable itself.
Here the botsargument is used in different instructions, and each usage of the bots will be represented by a different Var, while the Argument object that can be retrieved using the get_object_of_var() function will represent the bots in general as an argument.
Example
from glider import*defquery(): functions =Functions()\.with_one_property([MethodProp.HAS_STATE_VARIABLES_WRITTEN])\.exec(50,50)for function in functions:for instruction in function.instructions().exec():for operand in instruction.get_operands():vars= operand.get_local_vars()iflen(vars)>0:for point invars[0].forward_df():print("Var: "+vars[0].expression) local_var =vars[0].get_object_of_var()# lets use something specific to LocalVariableprint(local_var.type)return [instruction]return []