aboutsummaryrefslogblamecommitdiffstats
path: root/irssi/config
blob: 8914e06b8964abd65c67215327719dca60f7d463 (plain) (tree)
1
2
3
4
5
6
7
8
9
                    

                                       
           
   


                              
                  


                        
    
   
                              
                                    
                  
                  
                    

                        
    








                                           
   
                              


                        

    

                              

                          
                   





















                                           




                                         

    


                              
                                                                        

                                         
                      


                        


                              
                                                                         

                                         
                      


                        


                              
                                                                          






                                         

                             
                                                                             
                    
                                         

                        















                                




                              
                                                                               



                                         
   


            

                 
                             
                                                          


                    
    







                                                                                 
                                                       
                                                                
                                            
             
                                                                
                 
    
                                                              
                  
                 








                                                            
    
                             

                    

                                                                   
    
                            

                 

                                                                                                         
    
                                


            









                                                                      
                                                                          

                                                              
                                                                          


                                                                     
                                                                    
                                                                 

                                                                   
                                                                   
                                                                            


                                                                        
                                                                  









                                                                    
                                                                   

                                                                      
                                                                           
                                                           

                                                                  











                                                                                                                                                                                     











































                                                    

















                                                                             
                                                                                                                              
 



                                                                                 

                                                                                                      
 
                                                                             



                                                                        

                                                                
                                            



                                                                   

                                                     






















                                                                          
 




                                                         
                                                         
                        
                                               




                                                                





















                                                                      















                                                                 



                        
                                                         


                                          
                                              






                                          






                                                            













                                                            













                                                            


            


                           
          
                           
                       

                             

                                





                                                    
                               
                             

                               
                              


                                           
                       


                               
                     



                           
                 


                                



                                  
               
                                                
                                                                                                                                                       
                

                      
             
                                                                                                                                                                                                         

                           


                                           
                                            


                                                                                                                 



                           




                                  



                                    





                                               
    






                                                   
  






















                                                             
                                                              

           
                                                                   
                                                                      
                                                                    


                                                                     



                                                                      
                                                                


                                                                    

                                                                    
                                                                   

                                                                 

                                                                   
                                                                    
                                                                    
                                                                

                                                                      
    


                                      
                                                                    
                                                                  
                                                                

                                                                  

                                                                   



                                      
                                                                     
                                                                    
                                                                  
                                                                  
                                                                  

                                                                       

                                                                     
                                                                     
                                                               
                                                                       

                                                                   
                                                                 
                                                                    
                                                                        
                                                                

                                                               
  
           
           
# vim: filetype=perl
# https://libera.chat/guides/certfp
# https://www.oftc.net/NickServ/CertFP/
servers = (
  {
    address = "irc.gitter.im";
    chatnet = "gitter";
    port = "6697";
    password = "";
    use_tls = "yes";
    tls_verify = "yes";
    autoconnect = "yes";
  },
  {
    address = "192.99.102.52";
    chatnet = "FRRouting.slack.com";
    port = "6667";
    password = "";
    use_tls = "yes";
    tls_verify = "no";
    autoconnect = "yes";
  },
  # {
  #   address = "irc.oftc.net";
  #   chatnet = "OFTC";
  #   port = "6697";
  #   use_tls = "yes";
  #   tls_cert = "~/.irssi/certs/nick.pem";
  #   tls_verify = "yes";
  #   autoconnect = "no";
  # },
  {
    address = "192.168.1.109";
    port = "6667";
    chatnet = "bitlbee";
    autoconnect = "yes";
  },
  {
    address = "192.168.1.214";
    port = "8667";
    chatnet = "bitlbee_r";
    autoconnect = "no";
    use_tls = "no";
  },
  # {
  #   address = "irc.libera.chat";
  #   chatnet = "LiberaChat";
  #   port = "6697";
  #   use_tls = "yes";
  #   tls_cert = "~/.irssi/certs/nick.pem";
  #   tls_verify = "yes";
  #   autoconnect = "no";
  # },
  # {
  #   address = "irc.rizon.net";
  #   chatnet = "Rizon";
  #   port = "6697";
  #   use_tls = "yes";
  #   tls_cert = "~/.irssi/certs/nick.pem";
  #   tls_verify = "yes";
  #   autoconnect = "no";
  # },
  {
    address = "ssl.ircnet.io";
    chatnet = "IRCNet";
    port = "6697";
    use_tls = "yes";
    tls_cert = "~/.irssi/certs/nick.pem";
    tls_verify = "yes";
    autoconnect = "yes";
  },
  {
    address = "185.130.45.46";
    chatnet = "Libera-ZNC";
    port = "1025";
    password = "terminaldweller/Liberachat:"; # pragma: allowlist secret
    use_tls = "yes";
    tls_cert = "~/.irssi/certs/nick.pem";
    tls_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "185.130.45.46";
    chatnet = "OFTC-ZNC";
    port = "1025";
    password = "terminaldweller/OFTC:network"; # pragma: allowlist secret
    use_tls = "yes";
    tls_cert = "~/.irssi/certs/nick.pem";
    tls_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "185.130.45.46";
    chatnet = "Rizon-ZNC";
    port = "1025";
    password = "terminaldweller/Rizon:network"; # pragma: allowlist secret
    use_tls = "yes";
    tls_cert = "~/.irssi/certs/nick.pem";
    tls_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "185.130.45.46";
    chatnet = "Undernet-ZNC";
    port = "1025";
    password = "terminaldweller/undernet:network"; # pragma: allowlist secret
    use_tls = "yes";
    tls_cert = "~/.irssi/certs/nick.pem";
    tls_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "efnet.port80.se";
    chatnet = "EFnet";
    port = "6697";
    use_tls = "yes";
    tls_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "irc.dal.net";
    chatnet = "DALnet";
    port = "6697";
    use_tls = "yes";
    tls_verify = "yes";
    autoconnect = "yes";
  },
  {
    address = "185.130.45.46";
    chatnet = "TildeChat_ZNC";
    port = "1025";
    password = "terminaldweller/Tilde_Chat:network"; # pragma: allowlist secret
    tls_cert = "~/.irssi/certs/nick.pem";
    use_tls = "yes";
    tls_verify = "no";
    autoconnect = "yes";
  }
);

chatnets = {
  OFTC = {
    type = "IRC";
    nick = "terminaldweller";
    autosendcmd = "/^msg nickserv set cloak on;wait 3000";
    max_kicks = "1";
    max_msgs = "1";
    max_whois = "1";
  };
  "OFTC-ZNC" = {
    type = "IRC";
    nick = "terminaldweller";
    autosendcmd = "/^msg nickserv set cloak on;mode terminaldweller j;wait 3000";
    max_kicks = "1";
    max_msgs = "1";
    max_whois = "1";
  };
  gitter = { type = "IRC"; nick = "terminaldweller"; };
  "app.slack.com" = { type = "IRC"; nick = "terminaldweller"; };
  "FRRouting.slack.com" = { type = "IRC"; };
  bitlbee = {
    autosendcmd = "/^msg &bitlbee identify gorgoroth;wait 3000";
    type = "IRC";
  };
  LiberaChat = { type = "IRC"; sasl_mechanism = "EXTERNAL"; };
  "Libera-ZNC" = {
    type = "IRC";
    autosendcmd = "/^mode terminaldweller +g;wait 3000";
  };
  # Rizon = {
  #   type = "IRC";
  #   autosendcmd = "/^mode terminaldweller +px;wait 3000";
  # };
  "Rizon-ZNC" = {
    type = "IRC";
    autosendcmd = "/^mode terminaldweller +RCGpx;wait 3000";
  };
  IRCNet = { type = "IRC"; };
  "Undernet-ZNC" = {
    type = "IRC";
    nick = "terminaldwel";
    autosendcmd = "/^mode termi +ix;msg *status traffic;wait 3000";
  };
  EFnet = { type = "IRC"; };
  DALnet = {
    type = "IRC";
    nick = "terminaldweller";
    autosendcmd = "/^msg nickserv@services.dal.net identify identify;mode terminaldweller HCi;wait 3000";
  };
  bitlbee_r = { type = "IRC"; };
};

channels = (
  # { name = "#dpdk"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  # { name = "#fdio-vpp"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  # { name = "#openssl"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#netbsd"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  # { name = "#netplan"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#ubuntu"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  # { name = "#qemu"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
  { name = "#debian"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
  # { name = "#virt"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
  { name = "#openwrt"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
  { name = "#selfhosting"; chatnet = "TildeChat_ZNC"; autojoin = "yes"; },
  { name = "#tor"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
  { name = "#llvm"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
  { name = "##terminaldweller"; chatnet = "OFTC-ZNC"; autojoin = "yes"; },
  # { name = "#openssh"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  # { name = "#gdb"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#openbsd"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#lobsters"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#gnupg"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#znc"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#go-nuts"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#opennic"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "##terminaldweller"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#voidlinux"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#CataclysmDDA"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#security"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#docker"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#crypto"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#tmux"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#vim"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#git"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#neomutt"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#busybox"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  # { name = "#shadow"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#freebsd"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#linux"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#irssi"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#bookz"; chatnet = "Undernet-ZNC"; autojoin = "yes"; },
  { name = "#postgresql"; chatnet = "Libera-ZNC"; autojoin = "yes"; },
  { name = "#news"; chatnet = "Rizon-ZNC"; autojoin = "yes"; },
  { name = "##terminaldweller"; chatnet = "Rizon-ZNC"; autojoin = "yes"; },
  { name = "#irc"; chatnet = "IRCNet"; autojoin = "yes"; },
  { name = "#supersonic"; chatnet = "DALNet"; autojoin = "yes"; },
  # { name = "#kvm"; chatnet = "Libera-ZNC"; autojoin = "yes"; }
);

aliases = {
  ATAG = "WINDOW SERVER";
  ADDALLCHANS = "SCRIPT EXEC foreach my \\$channel (Irssi::channels()) { Irssi::command(\"CHANNEL ADD -auto \\$channel->{name} \\$channel->{server}->{tag} \\$channel->{key}\")\\;}";
  B = "BAN";
  BACK = "AWAY";
  BANS = "BAN";
  BYE = "QUIT";
  C = "CLEAR";
  CALC = "EXEC - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
  CHAT = "DCC CHAT";
  DATE = "TIME";
  DEHIGHLIGHT = "DEHILIGHT";
  DESCRIBE = "ACTION";
  DHL = "DEHILIGHT";
  EXEMPTLIST = "MODE $C +e";
  EXIT = "QUIT";
  GOTO = "SCROLLBACK GOTO";
  HIGHLIGHT = "HILIGHT";
  HL = "HILIGHT";
  HOST = "USERHOST";
  INVITELIST = "MODE $C +I";
  J = "JOIN";
  K = "KICK";
  KB = "KICKBAN";
  KN = "KNOCKOUT";
  LAST = "LASTLOG";
  LEAVE = "PART";
  M = "MSG";
  MUB = "UNBAN *";
  N = "NAMES";
  NMSG = "^MSG";
  P = "PART";
  Q = "QUERY";
  RESET = "SET -default";
  RUN = "SCRIPT LOAD";
  SAY = "MSG *";
  SB = "SCROLLBACK";
  SBAR = "STATUSBAR";
  SIGNOFF = "QUIT";
  SV = "MSG * Irssi $J ($V) - http://www.irssi.org";
  T = "TOPIC";
  UB = "UNBAN";
  UMODE = "MODE $N";
  UNSET = "SET -clear";
  W = "WHO";
  WC = "WINDOW CLOSE";
  WG = "WINDOW GOTO";
  WJOIN = "JOIN -window";
  WI = "WHOIS";
  WII = "WHOIS $0 $0";
  WL = "WINDOW LIST";
  WN = "WINDOW NEW HIDDEN";
  WQUERY = "QUERY -window";
  WW = "WHOWAS";
};

statusbar = {
  # formats:
  # when using {templates}, the template is shown only if it's argument isn't
  # empty unless no argument is given. for example {sb} is printed always,
  # but {sb $T} is printed only if $T isn't empty.

  items = {
    # start/end text in statusbars
    barstart = "{sbstart}";
    barend = "{sbend}";

    topicbarstart = "{topicsbstart}";
    topicbarend = "{topicsbend}";

    # treated "normally", you could change the time/user name to whatever
    time = "{sb $Z}";
    user = "%9%z005fff{sb {sbnickmode $[-2]cumode}%k$N %Zeeeeee {sbumode %k$usermode} %Z005fff%0%z005f00{sbaway $A}}%N";

    # treated specially .. window is printed with non-empty windows,
    # window_empty is printed with empty windows
    window = " %Z00af00{sb $tag/{channel $itemname} %C {sbmode $M}} %C%n ";
    window_empty = "{sb {sbservertag $tag}}";
    prompt = "please%z005f87{%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87}%n";
    prompt_empty = "you%z005f87%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87%n";

    topic = "%Z005f00%k%z005f00%N%Z005f00%N %Z5f5faf%9 $topic%N";
    topic_empty = " Irssi v$J - http://www.irssi.org";

    # all of these treated specially, they're only displayed when needed
    # Powerline
    lag = "{sb %0%Zff8700%zff8700%k ⌚ $0 %Zff8700%0%N}";
    act = "{sb %Zeeeeee%0%n%z005fff %F$0%F %N}";
    more = "%c%0%n%6 more ⬇ %c%0%N";

    # vim_mode
    vim_mode_1 = "%z005f5f%Zffffff%z005f5f%k%9 $vim_cmd_mode%N";
    vim_windows_1 = "%Z005f5f%0%z005f5f%k%9 $vim_wins%z005f5f";

    itime = "%Z005f00%k%z005f00%9 $0 %z005f00";
  };

  # there's two type of statusbars. root statusbars are either at the top
  # of the screen or at the bottom of the screen. window statusbars are at
  # the top/bottom of each split window in screen.
  default = {
    # the "default statusbar" to be displayed at the bottom of the window.
    # contains all the normal items.
    window = {
      disabled = "no";

      # window, root
      type = "window";
      # top, bottom
      placement = "bottom";
      # number
      position = "1";
      # active, inactive, always
      visible = "active";

      # list of items in statusbar in the display order
      items = {
        barstart = { priority = "100"; };

        user = { };
        window = { };
        window_empty = { };
        lag = { priority = "-1"; };
        more = { priority = "-1"; alignment = "right"; };
        otr = { priority = "100"; alignment = "right"; };
        usercount = { };
        inputlength = { alignment = "right"; };
        rotator = { alignment = "right"; };
        vim_windows_1 = { alignment = "right"; };
        vim_mode_1 = { priority = "100"; alignment = "right"; };

        barend = { priority = "100"; alignment = "right"; };
      };
    };

    # statusbar to use in inactive split windows
    window_inact = {

      type = "window";
      placement = "bottom";
      position = "1";
      visible = "inactive";

      items = {
        barstart = { priority = "100"; };
        window = { };
        window_empty = { };
        more = { priority = "-1"; alignment = "right"; };
        barend = { priority = "100"; alignment = "right"; };
      };
    };

    # we treat input line as yet another statusbar :) It's possible to
    # add other items before or after the input line item.

    # topicbar
    topic = {

      type = "root";
      placement = "top";
      position = "1";
      visible = "always";

      items = {
        topicbarstart = { priority = "100"; };
        topicbarend = { priority = "100"; alignment = "right"; };
        topic = { };
        topicempty = { };
      };
    };
    sb_timezones = {
      items = {
        barstart = { };
        timezones = { };
        itime = { priority = "1"; alignment = "right"; };
        barend = { alignment = "right"; };
      };
    };
    dccstat = { items = { dccstat = { }; }; };
    prompt = {
      items = {
        uberprompt = { priority = "-1"; };
        input = { priority = "10"; };
      };
      position = "100";
    };
    awl_0 = {
      items = {
        barstart = { priority = "100"; };
        awl_0 = { };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
    awl_1 = {
      items = {
        barstart = { priority = "100"; };
        awl_1 = { };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
    awl_2 = {
      items = {
        barstart = { priority = "100"; };
        awl_2 = { };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
    awl_3 = {
      items = {
        barstart = { priority = "100"; };
        awl_3 = { };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
    awl_4 = {
      items = {
        barstart = { priority = "100"; };
        awl_4 = { };
        barend = { priority = "100"; alignment = "right"; };
      };
    };
  };
};
settings = {
  misc = {
    split_line_end = "↪";
  }
  core = {
    real_name = "john doe";
    user_name = "devi";
    nick = "terminaldweller";
    use_proxy = "no";
    proxy_address = "127.0.0.1";
    proxy_port = "9050";
    proxy_string = "CONNECT %s:%d HTTP/1.0\012\012";
    proxy_string_after = "conn %s %d";
    proxy_password = "";
  };
  "fe-common/core" = {
    theme = "solarized-powerline";
    hilight_color = "%Zd75f5f";
    emphasis_italics = "yes";
    emphasis_multiword = "yes";
    emphasis_replace = "no";
    show_names_on_join = "no";
  };
  "fe-text" = { actlist_sort = "refnum"; };
  "perl/core/scripts" = {
    # adv_windowlist.pl
    awl_block = "-20";
    awl_sbar_maxlength = "off";
    awl_hide_empty = "yes";
    awl_mouse = "no";
    awl_viewer = "no";
    awl_maxlines = "0";
    #fancy_abbrev = "head";

    # trackbar.pl
    trackbar_style = "%B";
    title_screen_window = "yes";
    awl_shared_sbar = "OFF";
    # usercount.pl
    usercount_show_halfops = "ON";
    usercount_show_ircops = "ON";
    usercount_show_zero = "ON";
    # timezones
    timezones_divider = " %Zeeeeee%Z008080 ";
    timezones = "GMT:GMT EST:EST CET:CET Tehran:Asia/Tehran Tokyo:Asia/Tokyo Montreal:America/Montreal Pacific:America/Los_Angeles Paris:Europe/Paris";
    # hilite_url
    url_color = "32";
    hilite_url = "32";
    # rotator
    rotator_chars = "%Z005f5f%z005f5f%k..%N  %Z005f5f%z005f5f%koo%N  %Z005f5f%z005f5f%k00%N  %Z005f5f%z005f5f%kOO%N  %Z005f5f%z005f5f%k00%N  %Z005f5f%z005f5f%koo%N";
    rotator_speed = "1000";
    rotator_bounce = "yes";
    rotator_seperator = " ";
    # dccstats
    dccstat_hide_sbar_when_inactive = "no";
    dccstat_cycle_through_transfers = "yes";
    # uberprmpt
    uberprompt_format = "%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87%Z005f5f$uber";
    uberprompt_format_empty = "%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87%Z005f5f$uber";
    # irssi_logger
    il_dbname = "irc";
    il_dbuser = "postgres";
    il_dbpass = "devi";
    # nm2
    neat_shrink = "yes";
    neat_staircase_shrink = "yes";
    neat_custom_modes = "no";
    neat_dynamic = "yes";
    # vim_mode
    start_cmd = "yes";
    vim_mode_start_cmd = "yes";
    vim_mode_max_undo_lines = "100";
    # inputlength
    inputlength_width = "0";
    inputlength_padding_char = "%Z005f00  ";
    # bitlbee_typing_notice
    bitlbee_send_typing = "0";
    bitlbee_typing_allwin = "1";
  };
  "irc/dcc" = {
    dcc_download_path = "~/.irssi/downloads/";
    dcc_send_replace_space_with_underscore = "yes";
    dcc_timeout = "10min";
    dcc_upload_path = "~/.irssi/uploads/";
    dcc_autorename = "yes";
  };
};
keyboard = (
  { key = "meta-[M"; id = "command"; data = "mouse_xterm"; },
  { key = "meta-p"; id = "change_window"; data = "20"; },
  { key = "meta-a"; id = "change_window"; data = "21"; },
  { key = "meta-s"; id = "change_window"; data = "22"; },
  { key = "meta-d"; id = "change_window"; data = "23"; },
  { key = "meta-f"; id = "change_window"; data = "24"; },
  { key = "meta-g"; id = "change_window"; data = "25"; },
  { key = "meta-h"; id = "change_window"; data = "26"; },
  { key = "meta-j"; id = "change_window"; data = "27"; },
  { key = "meta-k"; id = "change_window"; data = "28"; },
  { key = "meta-l"; id = "change_window"; data = "29"; },
  { key = "meta-;"; id = "change_window"; data = "30"; },
  { key = "meta-z"; id = "change_window"; data = "31"; },
  { key = "meta-x"; id = "change_window"; data = "32"; },
  { key = "meta-c"; id = "change_window"; data = "33"; },
  { key = "meta-v"; id = "change_window"; data = "34"; },
  { key = "meta-b"; id = "change_window"; data = "35"; },
  { key = "meta-n"; id = "change_window"; data = "36"; },
  { key = "meta-m"; id = "change_window"; data = "37"; },
  { key = "meta-,"; id = "change_window"; data = "38"; },
  { key = "meta-."; id = "change_window"; data = "39"; },
  { key = "meta-/"; id = "change_window"; data = "40"; }
  { key = "meta-meta2-1"; id = "change_window"; data = "41"; }
);
ignores = (
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#docker" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#voidlinux" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#node.js" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#ansible" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#dpdk" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#fdio-vpp" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#alacritty" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#go-nuts" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#neomutt" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#kvm" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#znc" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#netbsd" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#ubuntu" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#netplan" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#vagrant" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#openssl" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#crypto" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#tmux" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#vim" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#virt" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#debian" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#openbsd" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#freebsd" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#git" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#voidlinux" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#openwrt" ); },
  { 
    level = "JOINS PARTS QUITS NICKS";
    channels = ( "#debian-next" );
  },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#openssh" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#irssi" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#gdb" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#qemu" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#linux" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#shadow" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#tor" ); },
  { 
    level = "JOINS PARTS QUITS NICKS";
    channels = ( "#CataclysmDDA" );
  },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#security" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#busybox" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#bookz" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#qubes" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#gnupg" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#supersonic" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#news" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#mednafen" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#forgefed" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#lobsters" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#s6" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#postgresql" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#meta" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#gemini" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#llvm" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#opennic" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#selfhosting" ); },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#irc" ); },
  { level = "CTCPS"; },
  { level = "JOINS PARTS QUITS NICKS"; channels = ( "#zsh" ); }
);
Mogs = { };
logs = { };