Sun Mar 11 15:22:42 CET 2007 Jochen Eisinger <coffee@silcnet.org>
[silc.git] / apps / irssi / scripts / silc.pl
1 #!/usr/bin/perl -w
2
3 #<scriptinfo>
4 use vars qw($VERSION %IRSSI);
5
6 use Irssi 20020519;
7 $VERSION = "0.3";
8 %IRSSI = (
9     authors     => "c0ffee",
10     contact     => "c0ffee\@penguin-breeder.org",
11     name        => "sign_messages from silc-plugin",
12     description => "introduces a setting sign_messages which automatically signs messages",
13     license     => "Public Domain",
14     url         => "http://www.penguin-breeder.org/?page=silc",
15     changed     => "Wed Jan 29 20:55 CET 2003",
16 );
17 #</scriptinfo>
18
19 sub sig_ownpub {
20   my ($server, $msg, $target) = @_;
21
22   if (($server->{chat_type} =~ /^silc$/i) && 
23       (Irssi::settings_get_bool("sign_messages"))) {
24
25     Irssi::signal_stop();
26     $server->command("SMSG -channel $target $msg");
27
28   }
29
30 }
31
32 sub sig_sendtext {
33   my ($line, $server, $witem) = @_;
34   return unless ref $witem;
35
36   if (($server->{chat_type} =~ /^silc$/i) && 
37       (Irssi::settings_get_bool("sign_messages"))) {
38
39     return if $line eq "";
40
41     if ($witem->{type} eq "CHANNEL") {
42       $target = "-channel $witem->{name}";
43     } elsif ($witem->{type} eq "QUERY") {
44       $target = "$witem->{name}";
45     } else {
46       return;
47     }
48
49     Irssi::signal_stop();
50     $server->command("SMSG $target $line");
51
52   }
53
54 }
55
56 Irssi::signal_add_first("send text", "sig_sendtext");
57 Irssi::settings_add_bool("silc", "sign_messages", 0);