Sun Nov 19 18:58:26 CET 2006 Jochen Eisinger <coffee@silcnet.org>
authorJochen Eisinger <coffee@silcnet.org>
Sun, 19 Nov 2006 18:05:00 +0000 (18:05 +0000)
committerJochen Eisinger <coffee@silcnet.org>
Sun, 19 Nov 2006 18:05:00 +0000 (18:05 +0000)
* Import perl script for sign_messages from silc-plugin.  Affected
  file apps/irssi/scripts/silc.pl

CHANGES
apps/irssi/scripts/Makefile.am
apps/irssi/scripts/silc.pl [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index cbd0df1c2fb531253e292f198348b231a785d8b5..2a761443f91b13a4de6430def11997f12e4f644d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+Sun Nov 19 18:58:26 CET 2006  Jochen Eisinger <coffee@silcnet.org>
+
+       * Import perl script for sign_messages from silc-plugin.  Affected
+         file apps/irssi/scripts/silc.pl
+
 Tue Oct  3 21:22:00 CEST 2006  Jochen Eisinger <coffee@silcnet.org>
 
        * When joining channels with a password given in the config file,
index 38cc48267c9ffbbdee3d771a7bf27c43f55980d6..9574ec41ea0e6ce78065e29faaa5de657c499782 100644 (file)
@@ -8,6 +8,7 @@ script_DATA = \
        beep.pl \
        dns.pl  \
        mail-maildir.pl \
-       silc-mime.pl
+       silc-mime.pl \
+       silc.pl
 
 EXTRA_DIST = $(script_DATA)
diff --git a/apps/irssi/scripts/silc.pl b/apps/irssi/scripts/silc.pl
new file mode 100644 (file)
index 0000000..3870cf6
--- /dev/null
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+
+#<scriptinfo>
+use vars qw($VERSION %IRSSI);
+
+use Irssi 20020519;
+$VERSION = "0.3";
+%IRSSI = (
+    authors    => "c0ffee",
+    contact    => "c0ffee\@penguin-breeder.org",
+    name       => "sign_messages from silc-plugin",
+    description        => "introduces a setting sign_messages which automatically signs messages",
+    license    => "Public Domain",
+    url                => "http://www.penguin-breeder.org/?page=silc",
+    changed    => "Wed Jan 29 20:55 CET 2003",
+);
+#</scriptinfo>
+
+sub sig_ownpub {
+  my ($server, $msg, $target) = @_;
+
+  if (($server->{chat_type} =~ /^silc$/i) && 
+      (Irssi::settings_get_bool("sign_messages"))) {
+
+    Irssi::signal_stop();
+    $server->command("SMSG -channel $target $msg");
+
+  }
+
+}
+
+sub sig_sendtext {
+  my ($line, $server, $witem) = @_;
+  return unless ref $witem;
+
+  if (($server->{chat_type} =~ /^silc$/i) && 
+      (Irssi::settings_get_bool("sign_messages"))) {
+
+    return if $line eq "";
+
+    if ($witem->{type} eq "CHANNEL") {
+      $target = "-channel $witem->{name}";
+    } elsif ($witem->{type} eq "QUERY") {
+      $target = "$witem->{name}";
+    } else {
+      return;
+    }
+
+    Irssi::signal_stop();
+    $server->command("SMSG $target $line");
+
+  }
+
+}
+
+Irssi::signal_add_first("send text", "sig_sendtext");
+Irssi::settings_add_bool("silc", "sign_messages", 0);