Bookmark and Share
This little irssi script runs every 30 seconds and checks a text file/program for 
a new song/quote/status message. Doesn't really matter what the content is, I personally
use to keep my google talk status set to the song i'm currently listening to.

Save this bugger in ~/.irssi/scripts
Load with /script load
Execute with /mynp

#!/usr/bin/perl # To load, in irssi type '/script load' (make sure it's saved as file).
# When connected to a server type '/cmds' and you'll have a list of available commands.
# Make sure this script is in '~/.irssi/script' folder or else irssi won't know where it is.
# created by ashr
use strict;
use Irssi;
my ($autoaway_sec, $autoaway_to_tag, $am_away, $previousaway);
sub mynp
        $previousaway = "";

sub auto_timeout {
  my ($data, $server) = @_;
  my $h = `cat /mnt/dst06547/nowplaying.txt`;
  my $msg = "Changing nowplaying to $h";


        if (!($previousaway eq $h))
           $previousaway = $h;

           my (@servers) = Irssi::servers();
           $servers[0]->command("/AWAY Busy - $h");

           #my $db = `/usr/bin/mono /home/ashr/scripts/savenp.exe \"$h\"`;
#       Irssi::print("Song still the same, not changing");

sub reset_timer {
#     if (defined($autoaway_to_tag)) {
#       Irssi::timeout_remove($autoaway_to_tag);
#       $autoaway_to_tag = undef;
#     }
#     if ($autoaway_sec) {
       #$autoaway_to_tag = Irssi::timeout_add($autoaway_sec*1000,"auto_timeout", "");
       $autoaway_to_tag = Irssi::timeout_add(30000,"auto_timeout", "");
#     }

sub not_connected { Irssi::print "Try again when connected to server."; }
sub no_nick { Irssi::print "Nick not given.."; }
sub commands { Irssi::print "/mynp"; }
Irssi::command_bind('mynp', 'mynp');