 
   robot.respond /wsc list/im, (msg) ->
     questions = wscQuestions().map((val, index) ->
+      question = "Q#{val.number} - #{val.question}"
+      response = bold(question, robot.adapterName)
       """
-      **Q#{val.number} - #{val.question}**
+      #{response}
       """
     )
 

    msg.send "#{question.answer}"

  robot.respond /wsc qa ([1-9]$|[1-9]\d$|10[0-7]$)/im, (msg) ->
    questions = wscQuestions()
    question = findByNumber(questions, msg.match[1])

    msg.send """
    **#{question.question}**

    #{question.answer}
    """

  robot.respond /wsc proof ([1-9]$|[1-9]\d$|10[0-7]$)/im, (msg) ->
    questions = wscQuestions()
    q = findByNumber(questions, msg.match[1])
    proofs = q.proofTexts
    proof = ""
    
    for own key, value of proofs
      proof += """
      **#{key}:**

      """

      texts = value.join "\n    "
      texts = "    " + texts + "\n\n"

      proof += texts

    msg.send proof

  robot.respond /wsc full ([1-9]$|[1-9]\d$|10[0-7]$)/im, (msg) ->
    number = msg.match[1]
    qa = getQuestionAndAnswer(number)
    proofs = getQuestionProofs(number)

    msg.send """
    #{qa}

    #{proofs}
    """


    proofs = getQuestionProofs(question.number)

    msg.send """
    #{bold(question.number, robot.adapterName)}. #{qa}
    #{proofs}
    """

getQuestionAndAnswer = (number, adapter) ->
  questions = wscQuestions()
  question = findByNumber(questions, number)
  boldQuestion = bold(question.question, adapter)

  return """
  #{boldQuestion}
  #{question.answer}
  """

getQuestionProofs = (number, adapter) ->
  questions = wscQuestions()
  q = findByNumber(questions, number)
  proofs = q.proofTexts
  proof = ""
  
  for own key, value of proofs
    key = "#{key}:"
    proofNumber = bold(key, adapter)

    proof += """
    #{proofNumber}
    """

    texts = value.join "\n    "
