     /// User first name from request JSON.
     var userFirstName: String = request.data["message", "from", "first_name"]?.string ?? ""
     
-    /// Check if the message is empty
-    if message.characters.isEmpty {
+    /// Check if the message is empty.
+    if message.isEmpty {
         /// Set the response message text.
         response = "I'm sorry but your message is empty 😢"
-    /// The message is not empty
+    /// The message is not empty.
     } else {
         /// Check if the message is a Telegram command.
         if message.hasPrefix("/") {

/// This is step 5 of the following guide:
/// https://developers.facebook.com/docs/messenger-platform/guides/quick-start
droplet.post("messenger", messengerSecret, "*") { request in
    if let contentType = request.headers["Content-Type"], contentType.contains("application/json"), let bytes = request.body.bytes {
        let json = try JSON(bytes: bytes)
        droplet.console.info("Got JSON: \(json)")
    }
    
    return Response(status: .ok, headers: ["Content-Type": "text/plain"], body: "OK")
}

/// Run the Droplet.

/// https://developers.facebook.com/docs/messenger-platform/guides/quick-start
droplet.get("messenger", messengerSecret, "*") { request in
    guard request.data["hub.mode"]?.string == "subscribe" && request.data["hub.verify_token"]?.string == messengerSecret, let challenge = request.data["hub.challenge"]?.string else {
        throw Abort.custom(status: .badRequest, message: "Missing Messenger verification data.")
    }
    
    return Response(status: .ok, headers: ["Content-Type": "text/plain"], body: challenge)
