           :time time})))])
 
 ; sha achievements
-(defn make-sha-scanner [achievement-id sha-predicate]
+(defn make-sha-scanner [[achievement-id sha-predicate]]
   [achievement-id
    (fn [{:keys [id author time]}]
      (when (sha-predicate id)

   :level 3
   :time #inst "2014-04-16T17:43:20.000-00:00"})

(defn make-substring-scanner [achievement-id needle]
  [achievement-id
   (fn [commit-info]
     (let [l-needle (str/lower-case needle)


(def leo-tolstoy
  (make-message-scanner
    [:leo-tolstoy
    #(>= (count (str/split-lines %)) 10)]))

(def man-of-few-words
  (make-message-scanner
    [:man-of-few-words
    #(< (count %) 4)]))

(def no-more-letters
  (make-message-scanner
    [:no-more-letters
    (fn [message]
      (some #(Character/isLetter (.charValue %)) message))]))

(def narcissist
  [:narcissist
