config.template 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. # Edit :
  2. # password/nick
  3. # autojoin
  4. # Nagios-ack channels/files, at settings section
  5. # Immortal window (bottom of the configuration file)
  6. servers = (
  7. { address = "irc.stealth.net"; chatnet = "IRCnet"; port = "6668"; },
  8. { address = "irc.efnet.net"; chatnet = "EFNet"; port = "6667"; },
  9. {
  10. address = "ipv6.chat.freenode.net";
  11. chatnet = "FreeNode";
  12. port = "6697";
  13. use_ssl = "yes";
  14. ssl_verify = "no";
  15. autoconnect = "no"; #######################
  16. autosendcmd = "/^msg nickserv IDENTIFY mybotpassword";
  17. },
  18. {
  19. address = "irc.geeknode.net";
  20. chatnet = "GeekNode";
  21. autoconnect = "yes"; #######################
  22. port = "6697";
  23. use_ssl = "no";
  24. autosendcmd = "/^msg C nick IDENTIFY mybotpassword";
  25. },
  26. {
  27. address = "irc.undernet.org";
  28. chatnet = "Undernet";
  29. port = "6667";
  30. },
  31. { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
  32. {
  33. address = "irc.quakenet.org";
  34. chatnet = "QuakeNet";
  35. port = "6667";
  36. },
  37. { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }
  38. );
  39. chatnets = {
  40. IRCnet = {
  41. type = "IRC";
  42. max_kicks = "4";
  43. max_msgs = "5";
  44. max_whois = "4";
  45. max_query_chans = "5";
  46. };
  47. EFNet = {
  48. type = "IRC";
  49. max_kicks = "4";
  50. max_msgs = "3";
  51. max_whois = "1";
  52. };
  53. Undernet = {
  54. type = "IRC";
  55. max_kicks = "1";
  56. max_msgs = "3";
  57. max_whois = "30";
  58. };
  59. DALnet = {
  60. type = "IRC";
  61. max_kicks = "4";
  62. max_msgs = "3";
  63. max_whois = "30";
  64. };
  65. QuakeNet = {
  66. type = "IRC";
  67. max_kicks = "1";
  68. max_msgs = "3";
  69. max_whois = "30";
  70. };
  71. SILC = { type = "SILC"; };
  72. };
  73. channels = (
  74. ###################################
  75. {
  76. name = "#main_channel";
  77. chatnet = "geeknode";
  78. password = "command_chan_password";
  79. autojoin = "Yes";
  80. },
  81. {
  82. name = "#test";
  83. chatnet = "geeknode";
  84. autojoin = "yes";
  85. }
  86. );
  87. ###################################
  88. aliases = {
  89. J = "join";
  90. WJOIN = "join -window";
  91. WQUERY = "query -window";
  92. LEAVE = "part";
  93. BYE = "quit";
  94. EXIT = "quit";
  95. SIGNOFF = "quit";
  96. DESCRIBE = "action";
  97. DATE = "time";
  98. HOST = "userhost";
  99. LAST = "lastlog";
  100. SAY = "msg *";
  101. WI = "whois";
  102. WII = "whois $0 $0";
  103. WW = "whowas";
  104. W = "who";
  105. N = "names";
  106. M = "msg";
  107. T = "topic";
  108. C = "clear";
  109. CL = "clear";
  110. K = "kick";
  111. KB = "kickban";
  112. KN = "knockout";
  113. BANS = "ban";
  114. B = "ban";
  115. MUB = "unban *";
  116. UB = "unban";
  117. IG = "ignore";
  118. UNIG = "unignore";
  119. SB = "scrollback";
  120. UMODE = "mode $N";
  121. WC = "window close";
  122. WN = "window new hide";
  123. SV = "say Irssi $J ($V) - http://irssi.org/";
  124. GOTO = "sb goto";
  125. CHAT = "dcc chat";
  126. RUN = "SCRIPT LOAD";
  127. UPTIME = "eval exec - expr `date +%s` - \\$F | awk '{print \"Irssi uptime: \"int(\\\\\\$1/3600/24)\"d \"int(\\\\\\$1/3600%24)\"h \"int(\\\\\\$1/60%60)\"m \"int(\\\\\\$1%60)\"s\" }'";
  128. CALC = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi";
  129. SBAR = "STATUSBAR";
  130. INVITELIST = "mode $C +I";
  131. Q = "QUERY";
  132. "MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
  133. EXEMPTLIST = "mode $C +e";
  134. ATAG = "WINDOW SERVER";
  135. };
  136. #######################
  137. # Cosmetic parameters #
  138. #######################
  139. statusbar = {
  140. # formats:
  141. # when using {templates}, the template is shown only if it's argument isn't
  142. # empty unless no argument is given. for example {sb} is printed always,
  143. # but {sb $T} is printed only if $T isn't empty.
  144. items = {
  145. # start/end text in statusbars
  146. barstart = "{sbstart}";
  147. barend = "{sbend}";
  148. topicbarstart = "{topicsbstart}";
  149. topicbarend = "{topicsbend}";
  150. # treated "normally", you could change the time/user name to whatever
  151. time = "{sb $Z}";
  152. user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
  153. # treated specially .. window is printed with non-empty windows,
  154. # window_empty is printed with empty windows
  155. window = "{sb $winref:$itemname{sbmode $M}}";
  156. window_empty = "{sb $winref{sbservertag $tag}}";
  157. prompt = "{prompt $[.15]itemname}";
  158. prompt_empty = "{prompt $winname}";
  159. topic = " $topic";
  160. topic_empty = " Irssi v$J - http://irssi.org/help/";
  161. # all of these treated specially, they're only displayed when needed
  162. lag = "{sb Lag: $0-}";
  163. act = "{sb Act: $0-}";
  164. more = "-- more --";
  165. };
  166. # there's two type of statusbars. root statusbars are either at the top
  167. # of the screen or at the bottom of the screen. window statusbars are at
  168. # the top/bottom of each split window in screen.
  169. default = {
  170. # the "default statusbar" to be displayed at the bottom of the window.
  171. # contains all the normal items.
  172. window = {
  173. disabled = "no";
  174. # window, root
  175. type = "window";
  176. # top, bottom
  177. placement = "bottom";
  178. # number
  179. position = "1";
  180. # active, inactive, always
  181. visible = "active";
  182. # list of items in statusbar in the display order
  183. items = {
  184. barstart = { priority = "100"; };
  185. time = { };
  186. user = { };
  187. window = { };
  188. window_empty = { };
  189. lag = { priority = "-1"; };
  190. act = { priority = "10"; };
  191. more = { priority = "-1"; alignment = "right"; };
  192. barend = { priority = "100"; alignment = "right"; };
  193. usercount = { };
  194. };
  195. };
  196. # statusbar to use in inactive split windows
  197. window_inact = {
  198. type = "window";
  199. placement = "bottom";
  200. position = "1";
  201. visible = "inactive";
  202. items = {
  203. barstart = { priority = "100"; };
  204. window = { };
  205. window_empty = { };
  206. more = { priority = "-1"; alignment = "right"; };
  207. barend = { priority = "100"; alignment = "right"; };
  208. };
  209. };
  210. # we treat input line as yet another statusbar :) It's possible to
  211. # add other items before or after the input line item.
  212. prompt = {
  213. type = "root";
  214. placement = "bottom";
  215. # we want to be at the bottom always
  216. position = "100";
  217. visible = "always";
  218. items = {
  219. prompt = { priority = "-1"; };
  220. prompt_empty = { priority = "-1"; };
  221. # treated specially, this is the real input line.
  222. input = { priority = "10"; };
  223. };
  224. };
  225. # topicbar
  226. topic = {
  227. type = "root";
  228. placement = "top";
  229. position = "1";
  230. visible = "always";
  231. items = {
  232. topicbarstart = { priority = "100"; };
  233. topic = { };
  234. topic_empty = { };
  235. topicbarend = { priority = "100"; alignment = "right"; };
  236. };
  237. };
  238. awl_0 = {
  239. items = {
  240. barstart = { priority = "100"; };
  241. awl_0 = { };
  242. barend = { priority = "100"; alignment = "right"; };
  243. };
  244. };
  245. };
  246. };
  247. settings = {
  248. "irc/core" = {
  249. join_auto_chans_on_invite = "yes";
  250. ctcp_version_reply = "TC-14 protocol bot 1.3.1";
  251. };
  252. core = {
  253. real_name = "Protocol Droid TC-14, at your service.";
  254. user_name = "TC-14";
  255. nick = "TC-14";
  256. recode_out_default_charset = "= utf8";
  257. recode_autodetect_utf8 = "yes";
  258. quit_message = "Sir, the possibility of successfully navigating an asteroid field is approximately 3,720 to 1. We should turn ar...";
  259. };
  260. "perl/core/scripts" = {
  261. charsetwars_convert_in = "yes";
  262. charsetwars_convert_out = "yes";
  263. charsetwars_own = "utf";
  264. ###################################
  265. autorejoin_channels = "#main_channel";
  266. nagios_ack_channel = "#main_channel"
  267. nagios_ack_nick = ""
  268. nagios_command = "/var/lib/nagios3/rw/live"
  269. fifo_remote_file = "/home/tc-14/var/nagios-fifo"
  270. }
  271. };
  272. "fe-common/core" = {
  273. term_charset = "utf8";
  274. autolog = "yes";
  275. autolog_colors = "no";
  276. autocreate_query_level = "NONE";
  277. };
  278. "fe-text" = { actlist_sort = "refnum"; };
  279. };
  280. conversions = {
  281. "#clx" = "iso8859-1";
  282. "#lautre.net" = "iso-8859-1";
  283. "#gitoyen" = "iso-8859-1";
  284. "#bepo" = "utf8";
  285. "#spip" = "utf8";
  286. };
  287. hilights = ( { text = "asr"; nick = "yes"; word = "yes"; } );
  288. windows = {
  289. 1 = {
  290. immortal = "yes";
  291. name = "(status)";
  292. level = "ALL";
  293. sticky = "yes";
  294. };
  295. 2 = { immortal = "yes"; name = "hilight"; sticky = "yes"; };
  296. 3 = {
  297. ###################################
  298. items = (
  299. {
  300. type = "CHANNEL";
  301. chat_type = "IRC";
  302. name = "#main_channel";
  303. tag = "GeekNode";
  304. }
  305. );
  306. sticky = "yes";
  307. ###################################
  308. };
  309. };
  310. mainwindows = {
  311. 2 = { first_line = "1"; lines = "5"; };
  312. 3 = { first_line = "19"; lines = "53"; };
  313. 1 = { first_line = "6"; lines = "13"; };
  314. };
  315. logs = { };
  316. ignores = ( { level = "CTCPS"; } );