1 (defvar riece-twitter-credential nil)
3 (defun riece-twitter-message-filter (message)
4 (if (and (riece-message-own-p message)
5 (eq 'action (riece-message-type message)))
8 "-H" "X-Twitter-Client: Riece"
9 "-H" (concat "X-Twitter-Client-Version: " riece-version-number)
10 "-H" "X-Twitter-Client-URL: http://riece.nongnu.org/twitter.xml"
11 "-u" riece-twitter-credential
12 "-d" (concat "status="
13 (riece-twitter-escape-string (encode-coding-string (riece-message-text message) 'utf-8)))
15 "http://twitter.com/statuses/update.json"))
18 (defun riece-twitter-escape-string (string)
20 (while (string-match "[^0-9A-Za-z\-\._~:/?@!\$'()*,]" string index)
21 (setq string (replace-match
22 (format "%%%02X" (aref string (match-beginning 0)))
24 index (+ 3 (match-beginning 0))))
27 (defun riece-twitter-insinuate ()
28 (add-hook 'riece-message-filter-functions 'riece-twitter-message-filter))
30 (defun riece-twitter-uninstall ()
31 (remove-hook 'riece-message-filter-functions 'riece-twitter-message-filter))
33 (provide 'riece-twitter)
35 ;;; riece-twitter.el ends here