       else
         msg.send "#{quotes.length} quotes loaded successfully."
 
-  robot.respond /create quote: ([\s\S]*)/i, (msg) ->
+  robot.respond /(create|verbatim|slackapp|slackweb) quote:\s*([^]+)/i, (msg) ->
     unless robot.auth.hasRole(msg.message.user, CREATOR_ROLE)
       msg.reply [
         "You can't do that! You're not a *#{CREATOR_ROLE}*."

      ].join("\n")
      return

    q = msg.match[1]

    # Post-processing specific to Slack.
    processed = ['']
    [speaker, ts] = []
    for line in q.split(/\n/)
      m = line.match /(\S+) \[(\d?\d):(\d\d) ([AP]M)\]/
      if m?
        [x, speaker, hours, minutes, ampm] = m
        [hours, minutes] = [parseInt(hours), parseInt(minutes)]
        hours += 12 if ampm is 'PM'
        timestamp = moment({hours: hours, minutes: minutes})
        ts = timestamp.format('h:mm A D MMM YYYY')
      else if speaker? and line.length > 0
        processed.push "[#{ts}] #{speaker}: #{line}"
      else if line.length > 0
        processed.push line
    processed.push ''

    nquote = processed.join("\n")
    fs.appendFile quotefilePath, nquote, ->
      msg.reply "Quote added."
      reloadThen (err) ->
        if err?

fs = require 'fs'
_ = require 'underscore'
moment = require 'moment'
parsers = require './parser'

CREATOR_ROLE = 'quote pontiff'

