function convertCardReplyToKikMessage()

in kik/server.js [160:208]


function convertCardReplyToKikMessage(message) {
  let replies = [];
  let linkMessages = [];
  let kikMessages = [];

  if (message.buttons.length > 0) {
    for(let button of message.buttons) {
      let text = button.text;
      let postback = button.postback;

      if (text) {
        if (postback && postback.startsWith('http')) {
          linkMessages.push({type: 'link', title: text, url: postback});
        } else {
          replies.push({type: 'text', body: text});
        }
      }
    }
  }

  if (message.imageUri) {
    let pictureMessage = addImageToCardReply(message, replies);
    kikMessages.push(pictureMessage);
    let descriptionMessage = addDescriptionToCardReply(message, replies);
    if (descriptionMessage.body) {
      kikMessages.push(descriptionMessage);
    }
  } else {
    let descriptionMessage = addDescriptionToCardReply(message, replies);
    if (message.title) {
      descriptionMessage.body = message.title + '\n' + descriptionMessage.body;
    }
    kikMessages.push(descriptionMessage);
  }

  if (linkMessages.length > 0) {
    for (let i = 0; i < linkMessages.length; i++) {
      //Add quick replies to last link message
      if (i === linkMessages.length - 1 && replies.length > 0) {
        linkMessages[i].keyboards = [{
          type: 'suggested',
          responses: replies
        }];
      }
      kikMessages.push(linkMessages[i]);
    }
  }
  return kikMessages;
}