# Sample PurpleIRC bot configuration. # Most of these options should be self explanatory. # Place your bot file in the PurpleIRC/bots/ folder. # NOTE: If you make changes to this file while the server is running use "/irc reloadbotconfigs" to load the changes into memory. # # nick - Your bot's unique nickname nick: AwesomeBot # If your bot's nick is in use try these alternates. Leave blank for none. alt-nicks: - '%NICK%_' - '%NICK%__' # tick interval for attempting to switch back to primary nick. set to 0 to disable. alt-nick-timer: 1200 # login - Your bot's login name login: AwesomeName # realname realname: '' # server - IRC server to join server: irc.example.com # port - IRC server port port: 6667 # Enable TLS support via STARTTLS. Must connect to non-SSL port to use this. tls: false # Attempt ssl connection to IRC server ssl: false # Disable DHE. See: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7044060 disable-diffie-hellman: false # Trust all SSL certs trust-all-certs: false # Enabled ciphers - To get a list of available ciphers run "/irc test sslcpihers" ciphers: [] # Bind address bind: '' # Auto split length for long messages max-line-length: 440 # Character encoding. Leave blank for Java default. charset: '' # show irc server motd on connect show-motd: false # autoconnect - Connect automatically on startup autoconnect: 'false' # password - Server password if needed password: '' # identify password (sent to NickServ) ident-password: '' # Attempt sasl connection sasl: false # SASL password sasl-password: '' # SASL username sasl-username: '' # command-prefix - The bot will listen for commands that start with this. command-prefix: '.' # quit-message - Message the bot will send when it quits the server quit-message: '&r[&5PurpleIRC&r] &rGood bye!' # Message delay in milliseconds (be careful when changing this) message-delay: 1000 # CTCP finger reply finger-reply: '' # send a raw message on connect raw-message-on-connect: false # the raw message raw-message: auth name pass # Additional raw messages to send raw-message-list: [] # relay-private-chat - Allow private chat to the bot to relay to the game relay-private-chat: false # Log private chat messages log-private-chat: true # notify channels or users when a player uses commands command-notify: enabled: false # valid modes: msg, ctcp mode: msg # recipients can be channels or users recipients: - '#minecraft-test' - example ignore: - /login - /register - /auth # File tailer file-tailer: enabled: false file: 'server.log' extra_files: [] recipient: '#minecraft-test' ctcp: false # If a line matches then it is excluded from being sent to IRC. # Place slashes around a pattern to use regular expressions. excludes: - '/\s+\[PurpleIRC\]\s+/' # Messaging flood control (game and IRC) flood-control: # Enable or disable flood control enabled: false # The maximum number of messages per interval max-messages: 2 # Time interval in milliseconds time-interval: 1000 # Cooldown in milliseconds. If user is spamming then this cooldown takes effect. cooldown: 60000 # Automatically part invalid channels part-invalid-channels: false # Message when leaving invalid channel part-invalid-channels-message: 'I should not be here! Bye!' # Insert zero width space into nicks of IRC output to prevent client pings zero-width-space: false # Channel auto join delay in server ticks (20 ticks = 1 second) channel-auto-join-delay: 20 # If your irc-chat message has a %CUSTOMPREFIX% then these custom prefixes can replace them. # Can match either nick or hostmask custom-prefixes: - 'AwesomeNick [AwesomePrefix]' - '*!*sarah@example.com [Owner]' # Default if no match is found custom-prefix-default: '[IRC]' # Similar to custom-prefixe above. Search and replace first occurrence of : and replace with &r: replace-first-occurrences: - 'AwesomeNick : &r:' - '*!*sarah@example.com : &r:' # Action commands action-commands: - /me - /eme # Bot linking bot-linking-enabled: false # Map of remote linked bots and codes. Use /irc link and /irc linkaccept bot-links: # - remotebot: 249505593790847552435733176657146971496 # rejoin if kicked from a channel join-on-kick: true # channels - List the channels your bot will join here channels: # Channel name must be surrounded by sing quotes to be YAML compliant. # Use %2E instead of dots in the channel names. # Example: minecraft%2Etest == minecraft.test '#minecraft-test': permissions: chat: 'irc.message.chat' kick: 'irc.message.kick' action: 'irc.message.action' mode: 'irc.message.mode' notice: 'irc.message.notice' join: 'irc.message.join' part: 'irc.message.part' quit: 'irc.message.quit' topic: 'irc.message.topic' # message prefix (replaces %CHANNELPREFIX% prefix: '' # worlds we listen to for this channel worlds: - '*' # autojoin - Join the channel automatically on connect autojoin: true # modes - Channel modes to set modes: '' # password - Channel password password: '' # topic - Channel topic topic: New topic # topic-protect - Prevent others from changing the topic topic-protect: false # Enable chanserve mode for topic set command (/msg chanserv topic #channel topic-chanserv: false # If the Shortify plugin is installed then shoten URLs sent from IRC shortify: true # Enable or disable message filtering enable-filtering: false # Filters. These wll be removed from IRC to game messages. filter-list: - AwesomeBot # List of Factions tags to filter out of chat faction-tag-filters: - FactionNameToFilter # enabled-messages - These are the message types that are either sent to the game or IRC # config.yml. Remove or comment the messages you don't want. enabled-messages: # These messages are sent from game to IRC (see permissions) - console-chat - game-action - game-chat - game-death - game-kick - game-first-join - game-join - game-quit - game-achievement - game-advancement - game-mode - fake-join - fake-quit # Essentials helpop messages (/helpop /amsg /ac) - ess-helpop # DeathMessagesPrime #- death-messages # Prism #- prism-rollback #- prism-drain #- prism-extinguish #- prism-custom # The game-afk message type is not functional yet. #- game-afk # These messages are sent from IRC to game (see permissions) - irc-action - irc-chat - irc-pchat - irc-join - irc-kick - irc-part - irc-topic - irc-quit - irc-nickchange - irc-mode - irc-notice #- invalid-irc-commmand #- irc-console-chat # Dynmap Web Chat to IRC - dynmap-web-chat # IRC to Dynmap Web Chat - irc-dynmap-web-chat # IRC acion to Dynmap Chat (/me) - irc-action-dynmap-web-chat # mcMMO messages sent to IRC - mcmmo-admin-chat - mcmmo-party-chat - mcmmo-chat # mcMMO messages sent from IRC. Replace [PARTY] with destination mcMMO party - irc-mcmmo-admin-chat - irc-mcmmo-party-[PARTY]-chat # FactionChat messages sent to IRC - faction-public-chat - faction-ally-chat - faction-enemy-chat # Hero chat message types that are sent from game to IRC # Game messages from Global HC channel - hero-Global-chat - hero-Global-action # Game messages from any HC channel - hero-chat - hero-action # Specific HC channel #- hero-[CHANNEL]-chat #- hero-[CHANNEL]-action # Various IRC messages that are sent to Herochat channel. Receiving HC # channel name is configured per hero-channel: 'CHANNEL NAME' #- irc-hero-action #- irc-hero-chat #- irc-hero-kick #- irc-hero-join #- irc-hero-part #- irc-hero-topic # Venture chat. Uncomment these to enable venture chat # Replace [CHANNEL] with the channel name from Venture Chat #venture-[CHANNEL]-chat #venture-[CHANNEL]-action # All vc channels #venture-chat #venture-action #irc-venture-action #irc-venture-chat #irc-venture-kick #irc-venture-join #irc-venture-part #irc-venture-quit #irc-venture-topic # CleverNotch bot messages will be sent to the IRC channel - clever-chat # OreBroadcast messages #- ore-broadcast - titan-chat - ultimatechat-chat - towny-chat # Specific TownyChat channel or tag #- towny-[CHANNEL]-chat #- towny-[CHANNELTAG]-chat # Specific TitanChat channel #- titan-[CHANNEL]-chat # Specific UltimateChat channel #- ultimatechat-[CHANNEL]-chat # ReportRTS ticket notifications to irc - rts-notify # SimpleTicketManager notifications to irc - stm-create - stm-claim - stm-close - stm-comment # Messages from Discord - discord-chat #- discord-[CHANNEL]-chat # Messages from IRC to discord - irc-discord-chat # Catch /broadcast messages #- broadcast-console-message #- broadcast-message # RedditStream #- reddit-messages # AdminPrivateChat messages game to IRC #- game-a-chat # AdminPrivateChat messages IRC to game #- irc-a-chat # Hero channel destination for IRC messages hero-channel: admin # Venture channel destination for IRC messages venture-channel: global # Towny channel destination for IRC messages towny-channel: irc # Discord channel destination for IRC messages discord-channel: general # Log all messages from IRC to HeroChat log-irc-to-hero-chat: false # ops - IRC hostname mask styled ops list ops: - '*!*sarah@example.com' # muted - IRC users that should not be heard in game muted: - KuShy # Set ignore-irc-chat to true if you are using @chat and don't want regular IRC chat in your game ignore-irc-chat: false # ignore list for custom tab list custom-tab-ignore-list: - AwesomeBot # Don't add IRC users to tab list when a matching player is online. custom-tab-ignore-duplicates: false # Hide join message when player is invisible (VanishNoPacket) hide-join-when-vanished: true # Hide quit message when player is invisible (VanishNoPacket) hide-quit-when-vanished: true # How to respond to an invalid command invalid-command: private: false ctcp: false # Raw message to send if raw-message-on-join is true raw-message: '' raw-message-on-join: false # join-notice join-notice: # Enable or disable this feature. enabled: false # Cool down in seconds per user. cooldown: 60 # If true then message will be sent in private private: true # If true then message will be sent via ctcp. if false then normal msg ctcp: true # send a notice message (overrides ctcp) notice: false # The actual message sent to the user when joining the channel. # If the message starts with a / then a command will be run and the output sent as the message. message: '/list' # commands - A list of commands that the bot will act on # There are several builtin game_command options. # @list - list the players in the game # @help - print out of all of the commands # @uptime - print the uptime of the game server # @chat - send message to game # @hchat - send message to specific hero channel # @ochat - send message to game (overrides irc-chat) # @motd - display minecraft server motd # @msg - send private message to player # @r - quickly reply to private message # @query - query remote minecraft server # @rtsmb - Send ReportRTS broadcast message to mods # @a - Send message to AdminPrivateChat # @version - display version # @bukkit - display API version # @versionfull - display full version info (same as /version) # The modes can be *, o , v , h, q, s, or i. Mix and match as needed. # If game_command can optionally accept arguments via %ARGS% and %NAME% # If a command is private then the result is sent to the player privately. commands: chat: modes: '*' private: false ctcp: false notice: false game_command: '@chat' extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; ochat: modes: '*' private: false ctcp: false notice: false game_command: '@ochat' extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; h: modes: '*' private: false ctcp: false notice: false game_command: '@hchat' extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; msg: modes: '*' private: true ctcp: false notice: false game_command: '@msg' extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; r: modes: '*' private: 'true' ctcp: 'false' notice: false game_command: '@r' private_listen: 'true' channel_listen: 'true' perm: '' sender: CONSOLE game_command_usage: '' extra_commands: [] user_masks: [] output: '%RESULT%' cool_down: 0; list: modes: '*' private: false ctcp: false notice: false game_command: '@list' extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; help: modes: '*' private: false ctcp: false notice: false game_command: '@help' extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; uptime: modes: '*' private: false ctcp: false notice: false game_command: '@uptime' extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; version: modes: '*' private: false ctcp: false notice: false game_command: '@versionfull' extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; lag: modes: '*' private: false ctcp: false notice: false game_command: lag extras_commands: [] private_listen: true channel_listen: true user_masks: [] perm: '' output: '%RESULT%' cool_down: 0; lv: modes: 'o' private: 'false' ctcp: 'false' notice: false game_command: '@list' extra_commands: - '@version' private_listen: 'true' channel_listen: 'true' user_masks: [] perm: '' cool_down: 0; ## Uncomment this if you want to hook into AdminPrivateChat # a: # modes: '*' # private: false # ctcp: false # game_command: '@a' # private_listen: true # channel_listen: true # user_masks: [] ## Uncomment this to allow gamemode changes via IRC # gamemode: # modes: 'o' # private: false # ctcp: false # game_command: 'gamemode %ARGS%' # private_listen: true # channel_listen: true # user_masks: [] # output: '%RESULT%' ## Sample of %ARGX% and %ARGX+% with game_command_usage # mute: # modes: o # private: 'false' # ctcp: 'false' # game_command: mute %ARG1% %ARG2% %ARG3+% # extra_commands: # - 'irc say SpigBot #PurpleIRC Muted %ARG1% for %ARG2%. [Reason %ARG3+%]' # game_command_usage: 'Usage: .mute