たいしたサンプルにもなりませんが、簡単な URL を作ってつぶやくだけの簡単なお仕事をするスクリプト。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(use util.match :only (match-let1)) | |
(use srfi-19 :only (current-date date->string)) | |
(use net.twitter) | |
(define (usage) | |
(format (current-error-port) | |
"~a : wrong number of arguments. requires 7 ...\n" *program-name*) | |
(exit 2)) | |
(define (build-url server template builder :optional (prefix "http://")) | |
(string-append prefix server (builder template))) | |
(define (main args) | |
(if (null? args) | |
(usage) | |
(match-let1 (consumer-key consumer-secret access-token access-token-secret | |
server template url-builder msg-builder . rest)(cdr args) | |
(let* ((eval (^b (eval (read-from-string b)(interaction-environment)))) | |
(url-fun (eval url-builder)) | |
(msg-fun (eval msg-builder)) | |
(msg (msg-fun (build-url server template url-fun))) | |
(cred (make <twitter-cred> | |
:consumer-key consumer-key | |
:consumer-secret consumer-secret | |
:access-token access-token | |
:access-token-secret access-token-secret))) | |
(twitter-update cred msg))))) |
例えば、こういう風に呼ぶと
>gosh url-builtter.scm consumer-key consumer-secret access-token access-token-secret "kumanichi.com" "/sinseimen/~a/~a.shtml" "(^t (let1 today (current-date)(format t (date->string today \"~Y~m\")(date->string today \"~Y~m~d001\"))))" "(^u (string-append (date->string (current-date) \"~Y/~m/~d ~H:~M:~S ~a \") u))"こんなふうに URL をつぶやく。
2010/12/15 02:42:47 Wed http://kumanichi.com/sinseimen/201012/20101214001.shtml
ボットにするなら、あとは外から定期実行してやれば良いかなあと。
上記例のページがそうなんですが RSS がないんですよね。
そういうページの RSS を生成してくれるサービスもありますが、うまいこと生成されないページもしばしば。
URL が簡単なものであれば Twitter ボットに呟かせるのも手かなー、などと思ったもので。
リンク貼るだけならどこかの図書館みたいなことになることもないでしょうし。。
0 件のコメント:
コメントを投稿