Here is a solution for those using x-chat:

#you may need to change first line
IRC::register("/me fix", "0.01", "", "");
IRC::add_command_handler("me", "me");
IRC::print("/me fix loaded..");

sub me{
if($server_name eq ""){
IRC::command("%C11* $nick $_[0]");
return 1;

-If you do not have perl installed on your system this will not work.
-I suggest putting this in the x-chat folder named and then adding the command /load to your on-connect commands for
-You can have this script always loaded becuase the command will be execute by x-chat unless you are on
-You can change the output color by using one of the x-chat color codes where i have but %C11.

NOTEs for Programers:
Yes i know the code could have been smaller and a bit more efficient but i wanted it to be readable by non-programmers. In addition the reason no else statement is needed is that unless the return of the sub is 1 the command will "fall through" to other scripts or x-chat itslef, and as you can see the return value is only 1 when the if block is used. Finally, the @_ array hold the arguements after the /me command just as if they had been passed to the subroutine by the main script.