・ Web系SE募集 (技術開発部開発系エンジニア・Java/Tomcat 420万円~750万円)
   ・ 社内SE募集 (業務系システムの開発・社内イントラ)

POEIKC::Plugin::IRCの最近のブログ記事

前回に引き続き IRCネタです。
IRCサーバーを作った時と同じぐらいの時期に、
をつくりました。
これを作ったきっかけは、SVNでコミット時にメールを送るのに、commit-email.pl を使ってましたが、
こまめにコミットすると、メールに埋もれてしまう~。
という事で、trunk にマージした時のみメールで送る様にし、それ以外は IRCに流そうと思ったわけです。
元ネタは、coderepos のcodereposbot で、codereposbot は コミット時にログを流していたので同じ事を考えました。
で、
commit-email.pl を trunk にコミットした時だけ IRCに情報を流すように少々手を加えます。
その時、バッチ(commit-email.pl)から IRC に手軽に流したいな~。でも。コミットの時だけ IRCに
IRCbotが join して~とかなると、それはそれでわずらわしいしー。とかとか考え、IRCにメッセージを流す中継を行うIRCbotのデーモンを立てるのがいいと思い、手軽にIRCbotを作れるPOEIKC::Plugin::IRC を作ったわけです。
(PoCo::IKCのおかげでデーモンと気軽に会話できるのがいいですね)

POEIKC::Plugin::IRC は、POEIKC の Plugin として使います。
使い方は、POEIKCPOEIKC::Plugin::IRC をインストールしたら、

poeikcd start -M=POEIKC::Plugin::IRC -a=irc_bot -p 6677 -s

として、起動し、svn でメール送信するスクリプト(commit-email.pl)に、

use POE::Component::IKC::ClientLite;

my %param = (
        ip              => Sys::Hostname::hostname,
        port    => 6677,
        name    => join('_'=>Sys::Hostname::hostname, ($0 =~ /(\w+)/g), $$),
);
my $ikc = create_ikc_client(%param);
$ikc or warn $POE::Component::IKC::ClientLite::error;

my @param = ({
        connect=>{
                Nick=>"svn_bot",
                Username=>"svn_bot",
                Ircname=>"svn_bot",
                Port=>"6667",
                flood=>1,
        },
        channel=>"#svn_commit"
});
my $message_respond = 'IKC_IRC/message_respond';
$ikc->post_respond( $message_respond => [@param, $mail_subject]);
$ikc->post_respond( $message_respond => [@param, $mail_body]);
とします。

必要に応じて、trunk にコミットした時だけというロジックを追加したりすれば完成です。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちPOEIKC::Plugin::IRCカテゴリに属しているものが含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。