| 12345678910111213141516171819202122232425262728293031 |
- (in-package :cl-user)
- (defpackage chatikbot.plugins.twitter
- (:use :cl :chatikbot.common))
- (in-package :chatikbot.plugins.twitter)
- (defsetting *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
- (babel: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
- (aget "id" status)
- (aget "text" status))))
|