diff --git a/files/irc/.irssi/default.theme b/files/irc/.irssi/default.theme new file mode 100644 index 0000000..ac99356 --- /dev/null +++ b/files/irc/.irssi/default.theme @@ -0,0 +1,294 @@ +# When testing changes, the easiest way to reload the theme is with /RELOAD. +# This reloads the configuration file too, so if you did any changes remember +# to /SAVE it first. Remember also that /SAVE overwrites the theme file with +# old data so keep backups :) + +# TEMPLATES: + +# The real text formats that irssi uses are the ones you can find with +# /FORMAT command. Back in the old days all the colors and texts were mixed +# up in those formats, and it was really hard to change the colors since you +# might have had to change them in tens of different places. So, then came +# this templating system. + +# Now the /FORMATs don't have any colors in them, and they also have very +# little other styling. Most of the stuff you need to change is in this +# theme file. If you can't change something here, you can always go back +# to change the /FORMATs directly, they're also saved in these .theme files. + +# So .. the templates. They're those {blahblah} parts you see all over the +# /FORMATs and here. Their usage is simply {name parameter1 parameter2}. +# When irssi sees this kind of text, it goes to find "name" from abstracts +# block below and sets "parameter1" into $0 and "parameter2" into $1 (you +# can have more parameters of course). Templates can have subtemplates. +# Here's a small example: +# /FORMAT format hello {colorify {underline world}} +# abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; } +# When irssi expands the templates in "format", the final string would be: +# hello %G%Uworld%U%n +# ie. underlined bright green "world" text. +# and why "$0-", why not "$0"? $0 would only mean the first parameter, +# $0- means all the parameters. With {underline hello world} you'd really +# want to underline both of the words, not just the hello (and world would +# actually be removed entirely). + +# COLORS: + +# You can find definitions for the color format codes in docs/formats.txt. + +# There's one difference here though. %n format. Normally it means the +# default color of the terminal (white mostly), but here it means the +# "reset color back to the one it was in higher template". For example +# if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would +# print yellow "foo" (as set with %Y) but "bar" would be green, which was +# set at the beginning before the {foo} template. If there wasn't the %g +# at start, the normal behaviour of %n would occur. If you _really_ want +# to use the terminal's default color, use %N. + +############################################################################# + +# default foreground color (%N) - -1 is the "default terminal color" +default_color = "-1"; + +# print timestamp/servertag at the end of line, not at beginning +info_eol = "false"; + +# these characters are automatically replaced with specified color +# (dark grey by default) +replaces = { "[]=" = "%K$*%n"; }; + +abstracts = { + ## + ## generic + ## + + # text to insert at the beginning of each non-message line + line_start = "%B-%n!%B-%n "; + + # timestamp styling, nothing by default + timestamp = "$*"; + + # any kind of text that needs hilighting, default is to bold + hilight = "%_$*%_"; + + # any kind of error message, default is bright red + error = "%R$*%n"; + + # channel name is printed + channel = "%_$*%_"; + + # nick is printed + nick = "%_$*%_"; + + # nick host is printed + nickhost = "[$*]"; + + # server name is printed + server = "%_$*%_"; + + # some kind of comment is printed + comment = "[$*]"; + + # reason for something is printed (part, quit, kick, ..) + reason = "{comment $*}"; + + # mode change is printed ([+o nick]) + mode = "{comment $*}"; + + ## + ## channel specific messages + ## + + # highlighted nick/host is printed (joins) + channick_hilight = "%C$*%n"; + chanhost_hilight = "{nickhost %c$*%n}"; + + # nick/host is printed (parts, quits, etc.) + channick = "%c$*%n"; + chanhost = "{nickhost $*}"; + + # highlighted channel name is printed + channelhilight = "%c$*%n"; + + # ban/ban exception/invite list mask is printed + ban = "%c$*%n"; + + ## + ## messages + ## + + # the basic styling of how to print message, $0 = nick mode, $1 = nick + msgnick = "%K<%n$0$1-%K>%n %|"; + + # message from you is printed. "msgownnick" specifies the styling of the + # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the + # whole line. + + # Example1: You want the message text to be green: + # ownmsgnick = "{msgnick $0 $1-}%g"; + # Example2.1: You want < and > chars to be yellow: + # ownmsgnick = "%Y{msgnick $0 $1-%Y}%n"; + # (you'll also have to remove <> from replaces list above) + # Example2.2: But you still want to keep <> grey for other messages: + # pubmsgnick = "%K{msgnick $0 $1-%K}%n"; + # pubmsgmenick = "%K{msgnick $0 $1-%K}%n"; + # pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n"; + # ownprivmsgnick = "%K{msgnick $*%K}%n"; + # privmsgnick = "%K{msgnick %R$*%K}%n"; + + # $0 = nick mode, $1 = nick + ownmsgnick = "{msgnick $0 $1-}"; + ownnick = "%_$*%n"; + + # public message in channel, $0 = nick mode, $1 = nick + pubmsgnick = "{msgnick $0 $1-}"; + pubnick = "%N$*%n"; + + # public message in channel meant for me, $0 = nick mode, $1 = nick + pubmsgmenick = "{msgnick $0 $1-}"; + menick = "%Y$*%n"; + + # public highlighted message in channel + # $0 = highlight color, $1 = nick mode, $2 = nick + pubmsghinick = "{msgnick $1 $0$2-%n}"; + + # channel name is printed with message + msgchannel = "%K:%c$*%n"; + + # private message, $0 = nick, $1 = host + privmsg = "[%R$0%K(%r$1-%K)%n] "; + + # private message from you, $0 = "msg", $1 = target nick + ownprivmsg = "[%r$0%K(%R$1-%K)%n] "; + + # own private message in query + ownprivmsgnick = "{msgnick $*}"; + ownprivnick = "%_$*%n"; + + # private message in query + privmsgnick = "{msgnick %R$*%n}"; + + ## + ## Actions (/ME stuff) + ## + + # used internally by this theme + action_core = "%_ * $*%n"; + + # generic one that's used by most actions + action = "{action_core $*} "; + + # own action, both private/public + ownaction = "{action $*}"; + + # own action with target, both private/public + ownaction_target = "{action_core $0}%K:%c$1%n "; + + # private action sent by others + pvtaction = "%_ (*) $*%n "; + pvtaction_query = "{action $*}"; + + # public action sent by others + pubaction = "{action $*}"; + + + ## + ## other IRC events + ## + + # whois + whois = "%# $[8]0 : $1-"; + + # notices + ownnotice = "[%r$0%K(%R$1-%K)]%n "; + notice = "%K-%M$*%K-%n "; + pubnotice_channel = "%K:%m$*"; + pvtnotice_host = "%K(%m$*%K)"; + servernotice = "%g!$*%n "; + + # CTCPs + ownctcp = "[%r$0%K(%R$1-%K)] "; + ctcp = "%g$*%n"; + + # wallops + wallop = "%_$*%n: "; + wallop_nick = "%n$*"; + wallop_action = "%_ * $*%n "; + + # netsplits + netsplit = "%R$*%n"; + netjoin = "%C$*%n"; + + # /names list + names_prefix = ""; + names_nick = "[%_$0%_$1-] "; + names_nick_op = "{names_nick $*}"; + names_nick_halfop = "{names_nick $*}"; + names_nick_voice = "{names_nick $*}"; + names_users = "[%g$*%n]"; + names_channel = "%G$*%n"; + + # DCC + dcc = "%g$*%n"; + dccfile = "%_$*%_"; + + # DCC chat, own msg/action + dccownmsg = "[%r$0%K($1-%K)%n] "; + dccownnick = "%R$*%n"; + dccownquerynick = "%_$*%n"; + dccownaction = "{action $*}"; + dccownaction_target = "{action_core $0}%K:%c$1%n "; + + # DCC chat, others + dccmsg = "[%G$1-%K(%g$0%K)%n] "; + dccquerynick = "%G$*%n"; + dccaction = "%_ (*dcc*) $*%n %|"; + + ## + ## statusbar + ## + + # default background for all statusbars. You can also give + # the default foreground color for statusbar items. + sb_background = "%4%w"; + + # default backround for "default" statusbar group + #sb_default_bg = "%4"; + # background for prompt / input line + sb_prompt_bg = "%n"; + # background for info statusbar + sb_info_bg = "%8"; + # background for topicbar (same default) + #sb_topic_bg = "%4"; + + # text at the beginning of statusbars. sb-item already puts + # space there,so we don't use anything by default. + sbstart = ""; + # text at the end of statusbars. Use space so that it's never + # used for anything. + sbend = " "; + + topicsbstart = "{sbstart $*}"; + topicsbend = "{sbend $*}"; + + prompt = "[$*] "; + + sb = " %c[%n$*%c]%n"; + sbmode = "(%c+%n$*)"; + sbaway = " (%GzZzZ%n)"; + sbservertag = ":$0 (change with ^X)"; + sbnickmode = "$0"; + + # activity in statusbar + + # ',' separator + sb_act_sep = "%c$*"; + # normal text + sb_act_text = "%c$*"; + # public message + sb_act_msg = "%W$*"; + # hilight + sb_act_hilight = "%M$*"; + # hilight with specified color, $0 = color, $1 = text + sb_act_hilight_color = "$0$1-%n"; +}; diff --git a/files/irc/.irssi/envy.theme b/files/irc/.irssi/envy.theme new file mode 100644 index 0000000..8e206fb --- /dev/null +++ b/files/irc/.irssi/envy.theme @@ -0,0 +1,497 @@ +# ___ ___ ___ ___ +# /\ \ /\__\ /\__\ |\__\ +# /::\ \ /::| | /:/ / |:| | +# /:/\:\ \ /:|:| | /:/ / |:| | +# /::\~\:\ \ /:/|:| |__ /:/__/ ___ |:|__|__ +# /:/\:\ \:\__\ /:/ |:| /\__\ |:| | /\__\ /::::\__\ +# \:\~\:\ \/__/ \/__|:|/:/ / |:| |/:/ / /:/~~/~ +# \:\ \:\__\ |:/:/ / |:|__/:/ / /:/ / +# \:\ \/__/ |::/ / \::::/__/ \/__/ +# \:\__\ /:/ / ~~~~ +# \/__/ \/__/ v. 3.6 +# +# theme by rolle (rolle @ QuakeNet, rolle_ @ Ircnet) +# http://rollemaa.org/ +# +# you can find the most recent version here: +# http://rolle.tux.fi + +default_color = "-1"; +# Timestamp/servertag loppuun, ei alkuun +info_eol = "false"; +replaces = { "[]=" = "$*"; }; + +abstracts = { + line_start = "%K"; + timestamp = "%K$*%n"; + hilight = "$*"; + error = "$*"; + channel = "$*"; + nick = "$*"; + nickhost = "$*"; + server = "$*"; + comment = "$*"; + reason = "{comment $*}"; + mode = "{comment $*}"; + channick_hilight = "$*"; + chanhost_hilight = "{nickhost $*}"; + channick = "$*"; + chanhost = "{nickhost $*}"; + channelhilight = "$*"; + ban = "$*"; + # Kaikissa alemmissa: $0 = mode, $1 = nick + msgnick = "$0$1- %|"; + ownmsgnick = "{msgnick %K<$0 %G$1-%K>}%n"; + ownnick = "$*"; + pubmsgnick = "{msgnick %K<$0 %W$1-%K>}%n"; + pubnick = "$*"; + pubmsgmenick = "{msgnick %K<$0 %P$1-%K>}%P"; + menick = "%P$*%n"; + # $0 = hilightin väri, $1 = mode, $2 = nick + pubmsghinick = "{msgnick %K<$1 %P$2-%K>%P}"; + msgchannel = ":$*"; + # $0 = nick, $1 = hosti + privmsg = "[$0($1-)] "; + # $0 = "msg", $1 = target nick + ownprivmsg = "[$0($1-)] "; + ownprivmsgnick = "{msgnick $*}"; + ownprivnick = "%K<%G$*%K>%n"; + privmsgnick = "%K<%B$*%K>%n "; + action_core = " %r>%y>%g> %c$0-"; + action = "{action_core $*} "; + ownaction = "{action $*}"; + ownaction_target = "{action_core $*}:$1 "; + pvtaction = " (>>>) $* "; + pvtaction_query = "{action $*}"; + pubaction = "{action $*}"; + ownnotice = "[$0($1-)] "; + notice = "%g$*%K -> %G"; + whois = "%# $[8]0 : $1-"; + pubnotice_channel = ":$*"; + pvtnotice_host = "($*)"; + servernotice = "%r!$* %n"; + ownctcp = "[$0($1-)] "; + ctcp = "$*"; + wallop = "$*: "; + wallop_nick = "$*"; + wallop_action = " * $* "; + netsplit = "$*"; + netjoin = "%K::%g:%K $*"; + names_prefix = "%K"; + names_nick = "%K[$0$1-] "; + names_nick_op = "%K{names_nick $*}"; + names_nick_halfop = "%K{names_nick $*}"; + names_nick_voice = "%K{names_nick $*}"; + names_users = "%K[$*]"; + names_channel = "%K$*"; + dcc = "$*"; + dccfile = "$*"; + dccownmsg = "[$0($1-)] "; + dccownnick = "$*"; + dccownquerynick = "$*"; + dccownaction = "{action $*}"; + dccownaction_target = "{action_core $0}:$1 "; + dccmsg = "[$1-($0)] "; + dccquerynick = "$*"; + dccaction = " (*dcc*) $* %|"; + sb_background = ""; + sb_window_bg = "%n%2"; + sb_default_bg = ""; + sb_prompt_bg = "%0"; + sb_info_bg = ""; + sb_topic_bg = "%G"; + sbstart = ""; + sbend = " "; + topicsbstart = "{sbstart $*}"; + topicsbend = "{sbend $*}"; + prompt = "%R!%G$*%K: "; + sb = " %w/%W$*%w/%n"; + sbmode = ""; + sbaway = "%r>%n"; + sbservertag = "%W$0%n"; + sbnickmode = ""; + sb_act_sep = "%w$*%n"; + sb_act_text = "%G$*%n"; + sb_act_msg = "%G$*%n"; + sb_act_hilight = "%r($*)%n"; + sb_act_hilight_color = "%r$0$1-%n"; +}; +formats = { + "fe-common/core" = { + query_start = "%K:%K:%g:%K %gStarting query%K in {server $1} with {nick $0}"; + join = "%K::%g:%K {channick_hilight $0} [{chanhost_hilight $1}] has %gjoined%K {channel $2}"; + part = "%r:%K:: {channick $0} [{chanhost $1}] has %rleft%K {channel $2}"; + quit = "%r:%K:: {channick $0} [{chanhost $1}] has %rquit%k ({reason $2})"; + quit_once = "%r:%K:: {channick $0} [{chanhost $1}] has %rquit%K ({reason $2})"; + nick_changed = "%K:%y:%K: {channick_hilight $0} is %ynow known as%K {channick_hilight $1}"; + # own_msg = "{ownmsgnick $2 {ownnick $[-10]0}}$1"; + # own_msg_channel = "{ownmsgnick $3 {ownnick $[-10]0}{msgchannel $1}}$2"; + # pubmsg_me = "{pubmsgmenick $2 {menick $[-10]0}}$1"; + # pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-10]0}{msgchannel $1}}$2"; + # pubmsg_hilight = "{pubmsghinick $0 $3 $[-10]1}$2"; + # pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-10]1{msgchannel $2}}$3"; + # pubmsg = "{pubmsgnick $2 {pubnick \0030$0}}$1"; + # pubmsg_channel = "{pubmsgnick $3 {pubnick $[-10]0}{msgchannel $1}}$2"; + # line_start = "{line_start}"; + # line_start_irssi = "{line_start}{hilight Irssi} %W|%n "; + line_start_irssi = "{line_start}"; + timestamp = "%K{timestamp $Z} "; + # servertag = "$[-11]0 %W|%n "; + servertag = ""; + daychange = "Day changed to %%d %%b %%Y %n"; + talking_with = "%r:%y:%g:%K You are now talking with {nick $0}"; + refnum_too_low = "%r:%K:: Window number must be greater than 1"; + error_server_sticky = "%r:%K:: Window's server is %rsticky%K and it cannot be changed without -unsticky option"; + set_server_sticky = "%K::%g:%K Window's server %gset sticky%K"; + unset_server_sticky = "%K::%g:%K Window's server isn't sticky anymore"; + window_name_not_unique = "%r:%K:: Window names must be unique"; + window_level = "%K::%g:%K Window level is now $0"; + windowlist_header = "Ref Name Active item Server Level"; + windowlist_line = "$[3]0 %|$[20]1 $[15]2 $[15]3 $4"; + windowlist_footer = ""; + windows_layout_saved = "%K::%g:%K Layout of windows is now %gremembered%K next time you start irssi"; + windows_layout_reset = "%K::%g:%K Layout of windows %greset%K to defaults"; + window_info_header = ""; + window_info_footer = ""; + window_info_refnum = "Window : {hilight #$0}"; + window_info_refnum_sticky = "Window : {hilight #$0 (sticky)}"; + window_info_name = "Name : $0"; + window_info_history = "History : $0"; + window_info_size = "Size : $0x$1"; + window_info_level = "Level : $0"; + window_info_server = "Server : $0"; + window_info_server_sticky = "Server : $0 (sticky)"; + window_info_theme = "Theme : $0$1"; + window_info_bound_items_header = "Bounds : {hilight Name Server tag}"; + window_info_bound_item = " : $[!30]0 $[!15]1 $2"; + window_info_bound_items_footer = ""; + window_info_items_header = "Items : {hilight Name Server tag}"; + window_info_item = " $[7]0: $[!30]1 $2"; + window_info_items_footer = ""; + looking_up = "%K::%g:%K %gLooking up%K {server $0}"; + connecting = "%K::%g:%K %gConnecting%K to {server $0} [$1] port {hilight $2}"; + connection_established = "%K::%g:%K Connection to {server $0} %gestablished%K"; + cant_connect = "%r:%K:: %rUnable to connect%K server {server $0} port {hilight $1} {reason $2}"; + connection_lost = "%r:%K:: %rConnection lost%K to {server $0}"; + lag_disconnected = "%r:%K:: %rNo PONG reply%K from server {server $0} in $1 seconds, disconnecting"; + disconnected = "%r:%K:: %rDisconnected%K from {server $0} {reason $1}"; + server_quit = "%r:%K:: %rDisconnecting%K from server {server $0}: {reason $1}"; + server_changed = "%K:%y:%K: %yChanged%K to {hilight $2} server {server $1}"; + unknown_server_tag = "%r:%K:: %rUnknown%K server tag {server $0}"; + no_connected_servers = "%r:%K:: %rNot connected%K to any servers"; + server_list = "{server $0}: $1:$2 ($3)"; + server_lookup_list = "{server $0}: $1:$2 ($3) (connecting...)"; + server_reconnect_list = "{server $0}: $1:$2 ($3) ($5 left before reconnecting)"; + server_reconnect_removed = "%K::%g:%K %gRemoved reconnection%K to server {server $0} port {hilight $1}"; + server_reconnect_not_found = "%r:%K:: Reconnection tag {server $0} %rnot found%K"; + setupserver_added = "%K::%g:%K Server {server $0} %gsaved%K"; + setupserver_removed = "%K::%g:%K Server {server $0} %gremoved%K"; + setupserver_not_found = "%r:%K:: Server {server $0} %rnot found%K"; + your_nick = "%r:%y:%g:%K Your nickname is {nick $0}"; + kick = "%r:%K:: {channick $0} was %rkicked%K from {channel $1} by {nick $2} ({reason $3})"; + invite = "%K:%y:%K: {channick_hilight $0} %yinvites%K you to {channel $1}"; + not_invited = "You have not been invited to a channel!"; + new_topic = "%K:%y:%K: {channick_hilight $0} %ychanged the topic%K of {channel $1} to: {hilight $2}"; + topic_unset = "%K:%y:%K: {channick_hilight $0} %yunset the topic%K on {channel $1}"; + your_nick_changed = "%K:%y:%K: You're %ynow known as%K {channick_hilight $1}"; + talking_in = "%r:%y:%g:%K You are now talking in {channel $0}"; + not_in_channels = "%r:%y:%g:%K You are not on any channels"; + current_channel = "%r:%y:%g:%K Current channel {channel $0}"; + names = "{names_users Users {names_channel $0}} {comment $1 total}"; + names_prefix = "{names_prefix $0}"; + names_nick_op = "{names_nick_op $0 $1}"; + names_nick_halfop = "{names_nick_halfop $0 $1}"; + names_nick_voice = "{names_nick_voice $0 $1}"; + names_nick = "{names_nick $0 $1}"; + endofnames = "%r:%y:%g:%K {channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $3} halfops, {hilight $4} voices, {hilight $5} normal}"; + chanlist_header = "%r:%y:%g:%K You are on the following channels:"; + chanlist_line = "{channel $[-9]0} %|+$1 ($2): $3"; + chansetup_not_found = "Channel {channel $0} not found"; + chansetup_added = "Channel {channel $0} saved"; + chansetup_removed = "Channel {channel $0} removed"; + chansetup_header = "Channel Network Password Settings"; + chansetup_line = "{channel $[15]0} %|$[10]1 $[10]2 $3"; + chansetup_footer = ""; + channel_move_notify = "{channel $0} is already joined in window $1, use \"/WINDOW ITEM MOVE $0\" to move it to this window"; + # own_msg_private = "{ownprivmsg msg $0}$1"; + # own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-9]2}}$1"; + # msg_private = "{privmsg $0 $1}$2"; + # msg_private_query = "{privmsgnick $[-9]0}$2"; + no_msgs_got = "%r:%y:%g:%K You have not received a message from anyone yet"; + no_msgs_sent = "%r:%y:%g:%K You have not sent a message to anyone yet"; + query_stop = "%r:%y:%g:%K Closing query with {nick $0}"; + no_query = "%r:%y:%g:%K No query with {nick $0}"; + query_server_changed = "%K:%y:%K: Query with {nick $0} %ychanged%K to server {server $1}"; + query_move_notify = "%r:%y:%g:%K Query with {nick $0} is already created to window $1, use \"/WINDOW ITEM MOVE $0\" to move it to this window"; + hilight_header = "%r:%y:%g:%K Highlights:"; + hilight_line = "$[-4]0 $1 $2 $3$4$5"; + hilight_footer = ""; + hilight_not_found = "%r:%K:: Highlight %rnot found%K: $0"; + hilight_removed = "%K::%g:%K Highlight %gremoved%K: $0"; + alias_added = "%K::%g:%K Alias $0 %gadded%K"; + alias_removed = "%K::%g:%K Alias $0 %gremoved%K"; + alias_not_found = "%r:%K:: %rNo such%K alias: $0"; + aliaslist_header = "%r:%y:%g:%K Aliases:"; + aliaslist_line = "$[10]0 $1"; + aliaslist_footer = ""; + log_opened = "%K::%g:%K Log file {hilight $0} %gopened%K"; + log_closed = "%K::%g:%K Log file {hilight $0} %gclosed%K"; + log_create_failed = "%r:%K:: %rCouldn't create%K log file {hilight $0}: $1"; + log_locked = "%r:%K:: Log file {hilight $0} is %rlocked%K, probably by another running Irssi"; + log_not_open = "%r:%K:: Log file {hilight $0} %rnot open%K"; + log_started = "%K::%g:%K %gStarted%K logging to file {hilight $0}"; + log_stopped = "%r:%K:: %rStopped%K logging to file {hilight $0}"; + log_list_header = "%r:%y:%g:%K Logs:"; + log_list = "$0 $1: $2 $3$4"; + log_list_footer = ""; + windowlog_file = "%K::%g:%K Window LOGFILE set to $0"; + windowlog_file_logging = "%r:%K:: %rCan't change%K window's logfile while log is on"; + no_away_msgs = "%r:%K:: %rNo new%K messages in awaylog"; + away_msgs = "%K::%g:%K {hilight $1} %gnew messages%K in awaylog:"; + module_header = "Module Type Submodules"; + module_line = "$[!20]0 $[7]1 $2"; + module_footer = ""; + module_already_loaded = "%r:%K:: Module {hilight $0/$1} already loaded"; + module_not_loaded = "%r:%K:: Module {hilight $0/$1} %ris not loaded%K"; + module_load_error = "%r:%K:: %rError%K loading module {hilight $0/$1}: $2"; + module_invalid = "%r:%K:: {hilight $0/$1} isn't Irssi module"; + module_loaded = "%K::%g:%K %gLoaded%K module {hilight $0/$1}"; + module_unloaded = "%r:%K:: %rUnloaded%K module {hilight $0/$1}"; + command_unknown = "%r:%K:: %rUnknown%K command: $0"; + command_ambiguous = "%r:%K:: %rAmbiguous%K command: $0"; + option_unknown = "%r:%K:: %rUnknown%K option: $0"; + option_ambiguous = "%r:%K:: %rAmbiguous%K option: $0"; + option_missing_arg = "%r:%K:: %rMissing%K required argument for: $0"; + not_enough_params = "%r:%K:: %rNot enough%K parameters given"; + not_connected = "%r:%K:: %rNot connected%K to server"; + not_joined = "%r:%K:: %rNot joined%K to any channel"; + chan_not_found = "%r:%K:: %rNot joined%K to such channel"; + chan_not_synced = "%r:%K:: Channel %rnot fully synchronized%K yet, try again after a while"; + illegal_proto = "%r:%K:: Command isn't designed for the chat protocol of the active server"; + not_good_idea = "%r:%K:: Doing this is %rnot a good idea%K. Add -YES if you really mean it"; + theme_saved = "%K::%g:%K Theme %gsaved%K to $0"; + theme_save_failed = "%r:%K:: %rError%K saving theme to $0: $1"; + theme_not_found = "%r:%K:: Theme {hilight $0} %rnot found%K"; + theme_changed = "%K:%y:%K: %yUsing%K now theme {hilight $0} ($1)"; + window_theme = "%K::%g:%K %gUsing%K theme {hilight $0} in this window"; + window_theme_default = "%r:%K:: %rNo theme is set%K for this window"; + window_theme_changed = "%K:%y:%K: %yUsing%K now theme {hilight $0} ($1) in this window"; + window_theme_removed = "%K::%g:%K %gRemoved%K theme from this window"; + format_title = "%:[{hilight $0}] - [{hilight $1}]%:"; + format_subtitle = "[{hilight $0}]"; + format_item = "$0 = $1"; + ignored = "%K::%g:%K %gIgnoring%K {hilight $1} from {nick $0}"; + unignored = "%K::%g:%K %gUnignored%K {nick $0}"; + ignore_not_found = "%K::%g:%K {nick $0} %gis not%K being ignored"; + ignore_no_ignores = "%r:%y:%g:%K There are no ignores"; + ignore_header = "%r:%y:%g:%K Ignorance List:"; + ignore_line = "$[-4]0 $1: $2 $3 $4"; + ignore_footer = ""; + unknown_chat_protocol = "%r:%K:: %rUnknown%K chat protocol: $0"; + unknown_chatnet = "%r:%K:: %rUnknown%K chat network: $0 (create it with /IRCNET ADD)"; + not_toggle = "%r:%K:: Value must be either ON, OFF or TOGGLE"; + perl_error = "%r:%K:: Perl %rerror%K: $0"; + bind_key = "$[!20]0 $1 $2"; + bind_unknown_id = "%r:%K:: %rUnknown%K bind action: $0"; + config_saved = "%K::%g:%K %gSaved%K configuration to file $0"; + config_reloaded = "%K::%g:%K %gReloaded%K configuration"; + config_modified = "%r:%y:%g:%K Configuration file was modified since irssi was last started - do you want to overwrite the possible changes?"; + glib_error = "{error GLib $0} $1"; + overwrite_config = "%r:%y:%g:%K Overwrite config (%gy%K/%rN%K)?"; + set_title = "[{hilight $0}]"; + set_item = "$0 = $1"; + set_unknown = "%r:%K:: %rUnknown%K setting $0"; + set_not_boolean = "%r:%K:: Setting {hilight $0} isn't boolean, use /SET"; + translation_not_found = "%r:%K:: %rError%K opening translation table file $0: $1"; + translation_file_error = "%r:%K:: %rError%K parsing translation table file $0"; + }; + "fe-common/irc/dcc" = { + dcc_list_header = "{line_start_irssi}{dcc DCC connections:}"; + dcc_list_footer = "{line_start_irssi}{dcc ];}"; + # own_dcc = "{dccownmsg dcc {dccownnick $1}}$2"; + # own_dcc_action = "{dccownaction_target $0 $1}$2"; + # own_dcc_action_query = "{dccownaction $0}$2"; + # own_dcc_ctcp = "{ownctcp ctcp $0}$1 $2"; + # dcc_msg = "{dccmsg dcc $0}$1"; + # action_dcc = "{dccaction $0}$1"; + # action_dcc_query = "{dccaction $0}$1"; + # own_dcc_query = "{ownmsgnick {dccownquerynick $0}}$2"; + # dcc_msg_query = "{privmsgnick $0}$1"; + dcc_ctcp = "%K::%g:%K {dcc >>> DCC CTCP {hilight $1} %greceived%K from {hilight $0}: $2}"; + dcc_chat = "%K::%g:%K {dcc DCC CHAT from {nick $0} [$1 port $2]}"; + dcc_chat_channel = "%K::%g:%K {dcc DCC CHAT from {nick $0} [$1 port $2] %grequested%K in channel {channel $3}}"; + dcc_chat_not_found = "%K::%g:%K {dcc No DCC CHAT %gconnection open%K to {nick $0}}"; + dcc_chat_connected = "%K::%g:%K {dcc DCC CHAT connection with {nick $0} [$1 port $2] %gestablished%K}"; + dcc_chat_disconnected = "%r:%K:: {dcc DCC %rlost chat%K to {nick $0}}"; + dcc_send = "%K::%g:%K {dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes]}"; + dcc_send_channel = "%K::%g:%K {dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes] %grequested%K in channel {channel $5}}"; + dcc_send_exists = "%r:%K:: {dcc DCC %ralready sending%K file {dccfile $0} for {nick $1}}"; + dcc_send_not_found = "%r:%K:: {dcc DCC %rnot sending%K file {dccfile $1} to {nick $0}}"; + dcc_send_file_open_error = "%r:%K:: {dcc DCC %rcan't open%K file {dccfile $0}: $1}"; + dcc_send_connected = "%K::%g:%K {dcc DCC %gsending%K file {dccfile $0} for {nick $1} [$2 port $3]}"; + dcc_send_complete = "%K::%g:%K {dcc DCC %gsent%K file {dccfile $0} [{hilight $1}kB] for {nick $2} in {hilight $3} secs [{hilight $4kB/s}]}"; + dcc_send_aborted = "%r:%K:: {dcc DCC %raborted%K sending file {dccfile $0} for {nick $1}}"; + dcc_get_not_found = "%r:%K:: {dcc DCC no file offered by {nick $0}}"; + dcc_get_connected = "%K::%g:%K {dcc DCC %greceiving%K file {dccfile $0} from {nick $1} [$2 port $3]}"; + dcc_get_complete = "%K::%g:%K {dcc DCC %greceived%K file {dccfile $0} [$1kB] from {nick $2} in {hilight $3} secs [$4kB/s]}"; + dcc_get_aborted = "%r:%K:: {dcc DCC %raborted%K receiving file {dccfile $0} from {nick $1}}"; + dcc_unknown_ctcp = "%r:%K:: {dcc DCC unknown ctcp {hilight $0} from {nick $1} [$2]}"; + dcc_unknown_reply = "%r:%K:: {dcc DCC unknown reply {hilight $0} from {nick $1} [$2]}"; + dcc_unknown_type = "%r:%K:: {dcc DCC unknown type {hilight $0}}"; + dcc_invalid_ctcp = "%r:%K:: {dcc DCC received CTCP {hilight $0} with %rinvalid%K parameters from {nick $1}}"; + dcc_connect_error = "%r:%K:: {dcc DCC %rcan't connect%K to {hilight $0} port {hilight $1}}"; + dcc_cant_create = "%r:%K:: {dcc DCC %rcan't create%K file {dccfile $0}}"; + dcc_rejected = "%r:%K:: {dcc DCC $0 was %rrejected%K by {nick $1} [{hilight $2}]}"; + dcc_request_send = "%K::%g:%K {dcc DCC $0 %grequest sent%K to {nick $1}: $2"; + dcc_close = "{dcc DCC $0 close for {nick $1} [{hilight $2}]}"; + dcc_lowport = "{dcc Warning: Port sent with DCC request is a lowport ({hilight $0, $1}) - this isn't normal. It is possible the address/port is faked (or maybe someone is just trying to bypass firewall)}"; + dcc_list_line_chat = "%WChat ->%n {dcc $0 $1}"; + dcc_list_line_file = "%WFile ->%n {dcc $0 $1 : $2k of $3k ($4%%) - $5kB/s - $6}"; + }; + "fe-text" = { + lastlog_too_long = "%r:%y:%g:%K /LASTLOG would print $0 lines. If you really want to print all these lines use -force option."; + lastlog_count = "{hilight Lastlog}: $0 lines"; + lastlog_start = "{hilight Lastlog}:"; + lastlog_end = "{hilight End of Lastlog}"; + refnum_not_found = "%r:%K::%K Window number $0 %rnot found%K"; + window_too_small = "%r:%K::%K %rNot enough room%K to resize this window"; + cant_hide_last = "%r:%K::%K You %rcan't hide%K the last window"; + cant_hide_sticky_windows = "%r:%K::%K You %rcan't hide%K sticky windows (use /WINDOW STICK OFF)"; + cant_show_sticky_windows = "%r:%K::%K You %rcan't show%K sticky windows (use /WINDOW STICK OFF)"; + window_not_sticky = "%r:%K::%K Window %ris not%K sticky"; + window_set_sticky = "%K::%g:%K Window %gset%K sticky"; + window_unset_sticky = "%K::%g:%K Window %gis not%K sticky anymore"; + window_info_sticky = "Sticky : $0"; + window_scroll = "%K::%g:%K Window scroll mode is now $0"; + window_scroll_unknown = "%r:%K:: %rUnknown%K scroll mode $0, must be ON, OFF or DEFAULT"; + }; + "fe-common/irc" = { + netsplit = "%r:%K:: %r{netsplit netsplit}%K %|{server $0} <-> {server $1} %rquits%K: $2"; + netsplit_more = "%r:%K:: %r{netsplit netsplit}%K %|{server $0} <-> {server $1} %rquits:%K $2 (+$3 more, use /NETSPLIT to show all of them)"; + netsplit_join = "%K::%g:%K %g{netjoin netsplit}%K - %|%gjoins:%K $0"; + netsplit_join_more = "%%K::%g:%K %g{netjoin netsplit}%K - %|over, %gjoins:%K $0 (+$1 more)"; + no_netsplits = "%r:%y:%g:%K There are no netsplits"; + netsplits_header = "Nick Channel Server Splitted server"; + netsplits_line = "$[9]0 $[10]1 $[20]2 $3"; + netsplits_footer = ""; + ircnet_added = "%K::%g:%K Ircnet $0 %gsaved%K"; + ircnet_removed = "%K::%g:%K Ircnet $0 %gremoved%K"; + ircnet_not_found = "%r:%K:: Ircnet $0 %rnot found%K"; + ircnet_header = "%r:%y:%g:%K Ircnets:"; + ircnet_line = "$0: $1"; + ircnet_footer = ""; + setupserver_header = "Server Port Network Settings"; + setupserver_line = "%|$[!20]0 $[5]1 $[10]2 $3"; + setupserver_footer = ""; + joinerror_toomany = "%r:%K:: Join %rfails%K: {channel $0} (You have joined to too many channels)"; + joinerror_full = "%r:%K:: Join %rfails%K: {channel $0} (Channel is full)"; + joinerror_invite = "%r:%K:: Join %rfails%K: {channel $0} (You must be invited)"; + joinerror_banned = "%r:%K:: Join %rfails%K: {channel $0} (You are banned)"; + joinerror_bad_key = "%r:%K:: Join %rfails%K: {channel $0} (Wrong channel key)"; + joinerror_bad_mask = "%r:%K:: Join %rfails%K: {channel $0} (Bad channel mask)"; + joinerror_unavail = "%r:%K:: Join %rfails%K: {channel $0} (Channel is temporarily unavailable)"; + joinerror_duplicate = "%r:%K:: Channel {channel $0} already exists - %rcannot create%K it"; + channel_rejoin = "%r:%K:: Channel {channel $0} is temporarily %runavailable%K. Setting up a rejoin, to not rejoin, use /rmrejoins."; + inviting = "%K::%g:%K %gInviting%K {nick $0} to {channel $1}"; + channel_created = "%r:%y:%g:%K Channel {channel $0} created %_$1%_"; + url = "%r:%y:%g:%K Home page for {channelhilight $0}: $1"; + topic = "%r:%y:%g:%K Topic for {channel $0}: %_$1%_"; + no_topic = "%r:%y:%g:%K No topic set for %_$0%_"; + topic_info = "%r:%y:%g:%K Topic set by {channick_hilight $0} {mode $1}"; + chanmode_change = "%K:%y:%K: %ymode%K/{channel $0} [{mode $1}] by {nick $2}"; + server_chanmode_change = "%K::%g: {netsplit ServerMode}%K/{channelhilight $0}: {mode $1} by {nick $2}"; + channel_mode = "%K:%y:%K: %ymode%K/{channelhilight $0} [{mode $1}]"; + bantype = "%K:%y:%K: Ban type %ychanged%K to {channel $0}"; + no_bans = "%r:%y:%g:%K No bans in channel {channel $0}"; + banlist = "$0 - {channel $1}: ban {ban $2}"; + banlist_long = "$0 - {channel $1}: ban {ban $2} {comment by {nick $3}, $4 secs ago}"; + ebanlist = "{channel $0}: ban exception {ban $1}"; + ebanlist_long = "{channel $0}: ban exception {ban $1} {comment by {nick $2}, $3 secs ago}"; + no_invitelist = "%r:%y:%g:%K Invite list is empty in channel {channel $0}"; + invitelist = "{channel $0}: invite {ban $1}"; + no_such_channel = "%r:%K::%K {channel $0}: %rNo such%K channel"; + channel_change = "%K:%y:%K: %ymode%K/{channel $0} [{mode $1}]"; + channel_synced = "%r:%y:%g:%K Join to {channel $0} was synced in {hilight $1} secs"; + usermode_change = "%K:%y:%K: %ymode%K/{channel $0} [{mode $0}] by {channick_hilight $1}"; + user_mode = "%r:%y:%g:%K Your user mode is {mode $0}"; + away = "%K::%g:%K You have been %gmarked%K as being away"; + unaway = "%K::%g:%K You are %gno longer marked%K as being away"; + nick_away = "%r:%K::%K {nick $0} is %raway%K: $1"; + no_such_nick = "%r:%K::%K {nick $0}: %rNo such%K nick/channel"; + nick_in_use = "%r:%K::%K Nick {nick $0} is %ralready in use%K"; + nick_unavailable = "%r:%K::%K Nick {nick $0} is temporarily %runavailable%K"; + your_nick_owned = "%r:%K::%K Your nick is %rowned%K by {nick $3} {comment $1@$2}"; + whois = "%K:%K:%g:%K %g%U{nick $0}%U%K ({nickhost $1@$2})%:%r:%y:%g:%K ircname: $3"; + whowas = "%r:%y:%g:%K {nick $0} {nickhost $1@$2}%:%r:%y:%g:%K {whois ircname $3}"; + whois_idle = "%r:%y:%g:%K Idle: %|since $1 days $2 hours $3 mins $4 secs"; + whois_idle_signon = "%r:%y:%g:%K Idle: %|since $1 days $2 hours $3 mins $4 secs {comment Signed on: $5}"; + whois_server = "%r:%y:%g:%K Server: %|$1 {comment $2}"; + whois_oper = "%r:%y:%g:%K Info: %|{hilight $1}"; + whois_registered = "%r:%y:%g:%K Info: %|has registered this nick"; + whois_help = "%r:%y:%g:%K Info: %|available for help"; + whois_modes = "%r:%y:%g:%K Modes: %|{mode $1}"; + whois_realhost = "%r:%y:%g:%K Hostname: %|{hilight $1-}"; + whois_usermode = "%r:%y:%g:%K Usermode: %|{mode $1}"; + whois_channels = "%r:%y:%g:%K Channels: %|{channel $1}"; + whois_away = "%r:%y:%g:%K Away: %|$1"; + whois_special = "%r:%y:%g:%K Info: %|$1"; + whois_extra = "%r:%y:%g:%K Info: %|$1"; + end_of_whois = "%r:%K::%K %rEnd%K of WHOIS%K"; + end_of_whowas = "%r:%y:%g:%K End of WHOWAS"; + whois_not_found = "%r:%K::%K There is %rno such%K nick {channick_hilight $0}"; + who = "{channelhilight $[-10]0} %|{nick $[!9]1} $[!3]2 $[!2]3 $4@$5 {comment {hilight $6}}"; + end_of_who = "%r:%y:%g:%K End of /WHO list"; + own_notice = "{ownnotice notice $0}$1"; + # own_action = "{nick $[-11]0}%n $1"; + # own_action_target = "{ownaction_target $0 $2}$1"; + own_ctcp = "{ownctcp ctcp $0}$1 $2"; + notice_server = "{servernotice $0}$1"; + notice_public = "{notice $0{pubnotice_channel $1}}$2"; + notice_private = "{notice $0{pvtnotice_host $1}}$2"; + # action_private = "{pvtaction $0}$2"; + # action_private_query = "{pvtaction_query $0}$2"; + # action_public = " {nick $[-11]0}%n $1"; + # action_public_channel = "{pubaction $0{msgchannel $1}}$2"; + ctcp_reply = "%K::%g:%K %gCTCP%K {hilight $0} reply from {channick_hilight $1}: $2"; + ctcp_reply_channel = "%K::%g:%K %gCTCP {hilight $0} reply%K from {channick_hilight $1} in channel {channel $3}: $2"; + ctcp_ping_reply = "%K::%g:%K %gCTCP {hilight PING} reply%K from {channick_hilight $0}: $1.$[-3.0]2 seconds"; + ctcp_requested = "%K::%g:%K %K{ctcp {hilight $0} {comment $1} %grequested%K {hilight $2} from {nick $3}}"; + ctcp_requested_unknown = ""; + online = "%r:%y:%g:%K Users online: {hilight $0}"; + pong = "%K::%g:%K PONG %greceived%K from $0: $1"; + wallops = "{wallop WALLOP {wallop_nick $0}} $1"; + action_wallops = "{wallop WALLOP {wallop_action $0}} $1"; + kill = "%r:%K:: You were %r{error killed}%K by {nick $0} {nickhost $1} {reason $2} {comment Path: $3}"; + kill_server = "%r:%K:: You were %r{error killed}%K by {server $0} {reason $1} {comment Path: $2}"; + error = "%r:%K:: %r{error ERROR}%K $0"; + unknown_mode = "%r:%K:: %rUnknown%K mode character $0"; + not_chanop = "%r:%K:: You're %rnot channel operator%K in {channel $0}"; + silenced = "%K::%g:%K %gSilenced%K {nick $0}"; + unsilenced = "%K::%g:%K %gUnsilenced%K {nick $0}"; + silence_line = "{nick $0}: silence {ban $1}"; + ask_oper_pass = "%r:%y:%g:%K Operator password:"; + }; + "fe-common/perl" = { + script_not_found = "%r:%K:: Script {hilight $0} %rnot found%K"; + script_not_loaded = "%r:%K:: Script {hilight $0} %ris not%K loaded"; + script_loaded = "%K::%g:%K %gLoaded%K script {hilight $0}"; + script_unloaded = "%r:%K:: %rUnloaded%K script {hilight $0}"; + no_scripts_loaded = "%r:%y:%g:%K No scripts are loaded"; + script_list_header = "%r:%y:%g:%K Loaded scripts:"; + script_list_line = "$[!15]0 $1"; + script_list_footer = ""; + script_error = "{error %r:%K:: %rError%K in script {hilight $0}:}"; + }; + # "fe-common/irc/notifylist" = { + # notify_join = "{nick $0} [$1@$2] [{hilight $3}] has joined to $4"; + # notify_part = "{nick $0} has left $4"; + # notify_away = "{nick $0} [$5] [$1@$2] [{hilight $3}] is now away: $4"; + # notify_unaway = "{nick $0} [$4] [$1@$2] [{hilight $3}] is now unaway"; + # notify_unidle = "{nick $0} [$5] [$1@$2] [{hilight $3}] just stopped idling"; + # notify_online = "On $0: {hilight $1}"; + # notify_offline = "Offline: $0"; + # notify_list = "$0: $1 $2 $3"; + # notify_list_empty = "The notify list is empty"; + # }; +}; + diff --git a/files/irc/.irssi/scripts/dispatch.pl b/files/irc/.irssi/scripts/dispatch.pl new file mode 100644 index 0000000..6050520 --- /dev/null +++ b/files/irc/.irssi/scripts/dispatch.pl @@ -0,0 +1,26 @@ +use strict; +use warnings; +use Irssi; +use Irssi::Irc; +use vars qw($VERSION %IRSSI); + +$VERSION = "0.0.2"; +%IRSSI = ( + authors => "Sebastian 'yath' Schmidt", + contact => "yathen\@web.de", + name => "Command dispatcher", + description => "This scripts sends unknown commands to the server", + license => "GNU GPLv2", + changed => "Tue Mar 5 14:55:29 CET 2002", +); + +sub event_default_command { + my ($command, $server) = @_; + return if (Irssi::settings_get_bool("dispatch_unknown_commands") == 0 + || !$server); + $server->send_raw($command); + Irssi::signal_stop(); +} + +Irssi::settings_add_bool("misc", "dispatch_unknown_commands", 1); +Irssi::signal_add_first("default command", "event_default_command"); diff --git a/files/irc/.irssi/scripts/hilightwin.pl b/files/irc/.irssi/scripts/hilightwin.pl new file mode 100644 index 0000000..7d70317 --- /dev/null +++ b/files/irc/.irssi/scripts/hilightwin.pl @@ -0,0 +1,55 @@ +# +# Print hilighted messages & private messages to window named "hilight" for +# irssi 0.7.99 by Timo Sirainen +# +# Modded a tiny bit by znx to stop private messages entering the hilighted +# window (can be toggled) and to put up a timestamp. +# + +use strict; +use Irssi; +use POSIX; +use vars qw($VERSION %IRSSI); + +$VERSION = "0.04"; +%IRSSI = ( + authors => "Timo \'cras\' Sirainen, Mark \'znx\' Sangster", + contact => "tss\@iki.fi, znxster\@gmail.com", + name => "hilightwin", + description => "Print hilighted messages to window named \"hilight\"", + license => "Public Domain", + url => "http://irssi.org/", + changed => "Sun May 25 18:59:57 BST 2008" +); + +sub sig_printtext { + my ($dest, $text, $stripped) = @_; + + my $opt = MSGLEVEL_HILIGHT; + + if(Irssi::settings_get_bool('hilightwin_showprivmsg')) { + $opt = MSGLEVEL_HILIGHT|MSGLEVEL_MSGS; + } + + if( + ($dest->{level} & ($opt)) && + ($dest->{level} & MSGLEVEL_NOHILIGHT) == 0 + ) { + my $window = Irssi::window_find_name('hilight'); + + if ($dest->{level} & MSGLEVEL_PUBLIC) { + $text = $dest->{target}.": ".$text; + } + $text =~ s/%/%%/g; + $window->print($text, MSGLEVEL_CLIENTCRAP) if ($window); + } +} + +my $window = Irssi::window_find_name('hilight'); +Irssi::print("Create a window named 'hilight'") if (!$window); + +Irssi::settings_add_bool('hilightwin','hilightwin_showprivmsg',1); + +Irssi::signal_add('print text', 'sig_printtext'); + +# vim:set ts=4 sw=4 et: diff --git a/files/irc/.irssi/scripts/lastfm.pl b/files/irc/.irssi/scripts/lastfm.pl new file mode 100644 index 0000000..77ec944 --- /dev/null +++ b/files/irc/.irssi/scripts/lastfm.pl @@ -0,0 +1,447 @@ +# vim: set expandtab: +use strict; +use vars qw($VERSION %IRSSI); +$VERSION = "5.8"; +%IRSSI = ( + authors => "Simon 'simmel' Lundström", + contact => 'simmel@(freenode|quakenet|efnet) http://last.fm/user/darksoy', + name => "lastfm", + date => "20110125", + description => 'A now-playing-script which uses Last.fm', + license => "BSD", + url => "http://soy.se/code/", +); +# USAGE +# For details on how to use each setting, scroll down to the SETTINGS section. + +# QUICK START +# * First of all, you need the libwww/LWP package installed. The package in +# your package system is probably called something with libwww and perl and/or +# p5 in it. +# * /set lastfm_user to the username that you are using on Last.fm +# * Show with /np or %np what song "lastfm_user" last scrobbled to Last.fm via /say. If "lastfm_use_action" is set, it uses /me. +# * To see what another user on Last.fm is playing is also possible via /np or %np(). +# The now-playing message is configurable via via "lastfm_output" (and lastfm_output_tab_complete when using %np, if not set it will use lastfm_output by default.). "lastfm_strftime" can be used to configure the display of date and time when the song was scrobbled. + +# SETTINGS +# NOTE: Do not set these options here, use /set