code: def row(self, *args):
          
          btn_array = []
          for button in args:
              btn_array.append(button.to_dic())
          self.keyboard.append(btn_array)
          return self
docs: Adds a list of KeyboardButton to the keyboard. This function does not consider row_width.
          ReplyKeyboardMarkup#row("A")#row("B", "C")#to_json() outputs '{keyboard: [["A"], ["B", "C"]]}'
          See https://core.telegram.org/bots/api#inlinekeyboardmarkup
          :param args: strings
          :return: self, to allow function chaining.