(in-package #:chatikbot) (defvar *twitter-access-token* nil "OAuth access token") (defparameter *timeline-url* "https://api.twitter.com/1.1/statuses/user_timeline.json") (defun get-tweets (user-id &key since-id (count 5)) (loop for status in (yason:parse (flexi-streams:octets-to-string (cl-oauth:access-protected-resource (format nil "~A?~A" *timeline-url* (cl-oauth::alist->query-string (remove-if (complement #'cdr) (list (cons "user_id" user-id) (cons "count" count) (cons "since_id" since-id) (cons "trim_user" 1) (cons "exclude_replies" 1))) :include-leading-ampersand nil)) *twitter-access-token*)) :object-as :alist) collect (cons (cdr (assoc "id" status :test #'equal)) (cdr (assoc "text" status :test #'equal)))))