test4.
[silc.git] / apps / irssi / scripts / mime-test.pl
1 use Irssi;\r
2 use MIME::Base64;\r
3 \r
4 sub sig_mime {\r
5 \r
6   my ($server, $channel, $blob, $enc, $type, $nick) = @_;\r
7 \r
8   Irssi::print("$enc - $type - $blob->{octets}");\r
9 \r
10   if (($enc eq "base64") && ($type eq "image/png")) {\r
11     # just stores the image in /tmp/$nick.png\r
12     open OFILE, '>', "/tmp/" . $nick . ".png";\r
13     print OFILE decode_base64($blob->{data});\r
14     close OFILE;\r
15     Irssi::signal_stop();\r
16   }\r
17 \r
18 }\r
19 \r
20 sub cmd_scribble {\r
21 \r
22   my ($data, $server, $channel) = @_;\r
23 \r
24   return if $server->{chat_type} !~ /^silc$/i;\r
25 \r
26   # let's hope, $data is a png image...\r
27   open IFILE, $data;\r
28 \r
29   read IFILE, $image, 0xffff;\r
30 \r
31   close IFILE;\r
32 \r
33   $data = encode_base64($image);\r
34   $octets = length($data);\r
35   Irssi::print($octets);\r
36 \r
37   Irssi::signal_emit("mime-send", $server, $channel, $data, \$octets,\r
38         "base64", "image/png");\r
39 }\r
40 \r
41 Irssi::signal_add("mime", "sig_mime");\r
42 # /scribble path/to/image.png\r
43 Irssi::command_bind("scribble", "cmd_scribble");\r