irchat で nick 変更時になんかやる ・ irchat で遣える hook をさがす。 M-x apropos RET irchat.*hook RET ・この hook 遣う irchat-nick-hook Variable: *A hook that is executed when the IRC message "NICK" is received. Plist: variable-documentation ・hook を追加 irchat-nick-hook を遣えばいいと思ったのだけど、find | xargs grep しても見付からない。 というわけで以下に追加。 rin@mariko[/usr/local/share/emacs/site-lisp/irchat-pj]% diff -ur irchat-commands.el~ irchat-commands.el --- irchat-commands.el~ Wed Jun 6 01:45:03 2001 +++ irchat-commands.el Tue Jun 3 03:55:52 2003 @@ -503,7 +503,8 @@ "Set your nickname." (interactive "sEnter your nickname: ") (setq irchat-trying-nickname nick) - (irchat-send "NICK %s" nick)) + (irchat-send "NICK %s" nick) + (run-hooks 'irchat-nick-hook)) ・ .emacs に関数定義 ;; irchat で nick を RIN ( away を意味する nick として使用している )になったら ;; りんカムをカラーバーに設定する ( 2003.06.03 ) (defun rin-nick-away() (setq case-fold-search nil) ;; 大文字小文字の区別する。デフォルトでは t になってる (if (string-match irchat-trying-nickname "RIN") (start-process "*licamftput*" nil "~/usr/local/bin/licamftput" )) (setq case-fold-search t)) ;; 元に戻す (add-hook 'irchat-nick-hook (function rin-nick-away)) ・ftp でアップロード start-process してる ~/usr/local/bin/licamftput は以下のような内容。 scp したほうがいいんだろうけドネ。 rin@mariko[~/usr/local/bin]% cat licamftput #!/bin/sh LDIR=${HOME}/ RDIR=${LDIR}/public_html/cam ftp -nv mariko << EOF user rin xxxxxxxx ## ← xxxx にパスワード入れる prompt lcd ${LDIR} cd ${RDIR} put licam.jpg bye EOF rin@mariko[~/usr/local/bin]% < 動作確認 > とりあえず以下のようにして scratch buffer で実行してみる。 (start-process "*licamftput*" (current-buffer) ;; ←ここ "~/usr/local/bin/licamftput" )) こんな出力。 Connected to mariko. 220 mariko FTP server (Version wu-2.6.1(8) Sat Sep 9 11:01:34 JST 2000) ready. 331 Password required for rin. 230 User rin logged in. Interactive mode off. Local directory now /home/rin 250 CWD command successful. local: licam.jpg remote: licam.jpg 200 PORT command successful. 150 Opening ASCII mode data connection for licam.jpg. 226 Transfer complete. 4422 bytes sent in 0.00148 secs (2.9e+03 Kbytes/sec) 221-You have transferred 4393 bytes in 1 files. 221-Total traffic for this session was 4846 bytes in 1 transfers. 221-Thank you for using the FTP service on mariko. 221 Goodbye. Process *licamftput*<2> finished