anchor.diff:   '(setf drakma:*header-stream* *standard-output*))
   
   ; Telegram API methods, see https://core.telegram.org/bots/api
  +
  +(defmacro with-ok-results ((unserialized results) &body body)
  +  `(let ((,results (slot-value ,unserialized (find-json-symbol :result))))
  +     (if (slot-value ,unserialized (find-json-symbol :ok))
  +         (progn ,@body)
  +         nil)))
   
   (defun get-updates (b &key limit timeout)
     "https://core.telegram.org/bots/api#getupdates"
  
positive.code:     :documentation "Bot token given by BotFather"
      :accessor token
      :initform nil)
     (endpoint
      :initarg :endpoint
      :accessor endpoint
      :documentation "HTTPS endpoint"
      :initform nil)))
  
  (defmethod initialize-instance :after ((b bot) &key (api-uri "https://api.telegram.org/bot"))
    (setf (endpoint b)
          (concatenate 'string api-uri (token b) "/")))
  
  (defun make-bot (token)
    "Create a new bot instance. Takes a token string."
  
negative.code:     (with-input-from-string (stream object)
        (json:decode-json stream))))
  
  (defmethod decode ((object vector))
    (decode (map 'string #'code-char object)))
  
  (define-condition request-error (error)
     ((what :initarg :what :reader what)))
  
  