# This is a sample configuration file for PyLink. You'll likely want to rename it to config.yml # and begin your configuration there. # Note: lines starting with a "#" are comments and will be ignored. bot: # Sets nick, user/ident, and real name. nick: pylink user: pylink realname: PyLink Service Client # Server description (shown in /links, /whois, etc.) serverdesc: PyLink Server # Console log verbosity: see https://docs.python.org/3/library/logging.html#logging-levels loglevel: DEBUG # Sets the fantasy command prefix for calling commands inside channels # (requires fantasy plugin). prefix: "." # Determines whether the bot will reply to commands prefixed with its nick # (case sensitive and requires the fantasy plugin). respondtonick: true login: # PyLink administrative login - Change this, or the service will not start! user: admin password: changeme relay: # This block defines various options for the Relay plugin. You don't need this # if you aren't using it. # Determines whether remote opers will have user mode +H (hideoper) set on them. # This has the benefit of lowering the oper count in /lusers and /stats (P|p), # but only on IRCds that supported the mode. # It defaults to true if not set. hideoper: true # Determines whether real IPs should be sent across the relay. You should # generally have a consensus with your linked networks whether this should # be turned on. You will see other networks' user IP addresses, and they # will see yours. show_ips: false # Whether subservers should be spawned for each relay network (requires reload to change). # Defaults to true. spawn_servers: true servers: inspnet: # Server IP, port, and passwords ip: 127.0.0.1 port: 7000 recvpass: "abcd" sendpass: "abcd" # The full network name, used by plugins. netname: "InspIRCd Network" # Hostname we will use to connect to the remote server hostname: "pylink.yournet.local" # SID - required for InspIRCd and TS6 based servers. This must be three characters long. # The first char must be a digit [0-9], and the remaining two chars may be letters [A-Z] or digits. sid: "0AL" # SID range - the range of SIDs PyLink is allowed to use to generate server IDs. On TS6, # this should be a combination of digits, letters, and #'s. Each # denotes a range (0-9A-Z) # of characters that can be used by PyLink. You will want to make sure no other servers # are using this range. There must be at least one # in the entry. sidrange: "8##" # Autojoin channels channels: ["#pylink"] # Sets the protocol module to use - see the protocols/ folder for a list of valid values # (omitting the .py extension). protocol: "inspircd" # Sets autoconnect delay - comment this out or set the value below 1 to disable autoconnect entirely. autoconnect: 5 # Sets ping frequency (i.e. how long we should wait between sending pings to our uplink). # When more than two consecutive pings are missed, PyLink will disconnect with a ping timeout. # Defaults to 30 if not set. pingfreq: 30 # Separator character (used by relay) separator: "/" # Sets the max nick length for the network. It is important this is set correctly, or # PyLink might introduce a nick that is too long and cause netsplits! maxnicklen: 30 # Toggles SSL for this network. Defaults to false if not specified, and requires the # ssl_certfile and ssl_keyfile options to work. # ssl: true # ssl_certfile: pylink-cert.pem # ssl_keyfile: pylink-key.pem # Optionally, you can set this option to verify the SSL certificate # fingerprint (SHA1) of your uplink. # ssl_fingerprint: "e0fee1adf795c84eec4735f039503eb18d9c35cc" ts6net: ip: ::1 # Determines whether IPv6 should be used for this connection. ipv6: yes port: 7000 recvpass: "abcd" sendpass: "abcd" hostname: "pylink.example.com" sid: "8PY" netname: "some TS6 network" sidrange: "8P#" # Leave this as an empty list if you don't want to join any channels. channels: [] protocol: "ts6" autoconnect: 5 pingfreq: 30 maxnicklen: 30 # /'s in nicks are automatically converted to |'s for TS6 networks, since they # don't allow "/" in nicks separator: "|" # The following options are specific to TS6 servers: # Toggles owner (+y), admin (+a), and halfop (+h) support for shadowircd/elemental-ircd. # This defaults to off for the best compatibility. use_owner: false use_admin: false use_halfop: false # Toggles support of shadowircd/elemental-ircd specific channel modes: # +T (no notice), +u (hidden ban list), +E (no kicks), +J (blocks kickrejoin), # +K (no repeat messages), +d (no nick changes), and user modes: # +B (bot), +C (blocks CTCP), +D (deaf), +V (no invites), +I (hides channel list) use_elemental_modes: false # Plugins to load (omit the .py extension) plugins: # Commands plugin: provides core commands such as logging in, shutting down PyLink, and # various command help. - commands # Networks plugin: allows you to manage (dis)connections to networks while PyLink is running. - networks # Bots plugin: allows you to manipulate pseudo-clients (bots) on networks. # - bots # Relay plugin: Janus-style server-side relay plugin. # - relay # Fantasy plugin: allows you to trigger commands in channels by PyLink's nick or a # configurable prefix character. # - fantasy