Sun Mar 11 15:22:42 CET 2007 Jochen Eisinger <coffee@silcnet.org>
authorJochen Eisinger <coffee@silcnet.org>
Sun, 11 Mar 2007 14:23:14 +0000 (14:23 +0000)
committerJochen Eisinger <coffee@silcnet.org>
Sun, 11 Mar 2007 14:23:14 +0000 (14:23 +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 7f3432386d46da742e296712bbc90db4faafd7da..183039dd1bdf2ae669637d95164376e785e94080 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+Sun Mar 11 15:22:42 CET 2007  Jochen Eisinger <coffee@silcnet.org>
+
+       * Import perl script for sign_messages from silc-plugin.  Affected
+         file apps/irssi/scripts/silc.pl
+
 Sun Mar 11 15:19:10 CET 2007  Jochen Eisinger <coffee@silcnet.org>
 
        * Only wait for a nick on connecting, when it differs
index 5e569253ac8b3cd0df9c4519f74cb3ecd141f5c2..97a79916a4fe7efc77c9530100152963f1ca192d 100644 (file)
@@ -12,6 +12,7 @@ script_DATA = \
        mlock.pl \
        quitmsg.pl \
        scriptassist.pl \
+       silc.pl \
        splitlong.pl \
        usercount.pl
 
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);