--- /dev/null
+use Irssi;\r
+use MIME::Base64;\r
+\r
+sub sig_mime {\r
+\r
+ my ($server, $channel, $blob, $enc, $type, $nick) = @_;\r
+\r
+ Irssi::print("$enc - $type - $blob->{octets}");\r
+\r
+ if (($enc eq "base64") && ($type eq "image/png")) {\r
+ # just stores the image in /tmp/$nick.png\r
+ open OFILE, '>', "/tmp/" . $nick . ".png";\r
+ print OFILE decode_base64($blob->{data});\r
+ close OFILE;\r
+ Irssi::signal_stop();\r
+ }\r
+\r
+}\r
+\r
+sub cmd_scribble {\r
+\r
+ my ($data, $server, $channel) = @_;\r
+\r
+ return if $server->{chat_type} !~ /^silc$/i;\r
+\r
+ # let's hope, $data is a png image...\r
+ open IFILE, $data;\r
+\r
+ read IFILE, $image, 0xffff;\r
+\r
+ close IFILE;\r
+\r
+ $data = encode_base64($image);\r
+ $octets = length($data);\r
+ Irssi::print($octets);\r
+\r
+ Irssi::signal_emit("mime-send", $server, $channel, $data, \$octets,\r
+ "base64", "image/png");\r
+}\r
+\r
+Irssi::signal_add("mime", "sig_mime");\r
+# /scribble path/to/image.png\r
+Irssi::command_bind("scribble", "cmd_scribble");\r