Hi, I'm having a problem with CraftIRC. I can't leave a message on their bukkit dev page and also on IRC i don't get any response. I want my IRC bot to do the following: 3 channels - "minecraft" channel -> regular chat, all ingame chat goes to there, no need for .say - "admin" channel -> admin chat, all ingame chat goes to there, DO use .say - "console" channel -> for the owner, all chat (and cancelled chat) goes to there, DO use .say If i am understanding it correctley this should be possible with the paths/endpoint option of craftIRC, however i can't get it to work. The "minecraft channel" -> inamge works, so does the .say from the admin channel, however i don't see any ingame chat on IRC. Does anybody know how to proceed? My config: http://pastebin.com/tQ6xKgL0 Code: ####################################### #### CraftIRC 3 configuration file #### ####################################### # Welcome, new user! Please read carefully: # CraftIRC is a very powerful and flexible tool for all your communication needs. Being fully customizable, it TAKES SOME TIME TO SET UP. # Please set aside half an hour to READ THIS FILE CAREFULLY and configure everything according to your needs. If you don't, CraftIRC # will NOT WORK PROPERLY. # The CraftIRC developers can be found on #craftirc in irc.esper.net . Read the topic on arrival. If you have a specific issue you need # help with and we are around, we will help. BUT WE WILL NOT SET UP CRAFTIRC FOR YOU. If you don't want to/can't do this yourself, try # asking a friend or maybe if you're really lucky a user in #craftirc is feeling generous ;) # Recommendations: http://instantyaml.appspot.com/ (the output doesn't matter, just see if there are errors) ; save as UTF-8 ; use a text # editor with YAML syntax highlighting to make the file more readable. # ******************* MISCELLANEOUS SETTINGS ******************* settings: #These tags identify built-in endpoints (for the paths: section). Other endpoints may be provided by plugins. minecraft-tag: 'minecraft' #A basic game-side endpoint (a chat plugin may provide better functionality). cancelled-tag: 'admin' #Cancelled chat is sent here. Give this tag a name only if you disable either auto-paths or minecraft-tag console-tag: 'console' #The minecraft server console. #Automatically establish paths between unsecured communication endpoints. Turn off if you always want to configure every path manually. #(Secured endpoints can still send messages through auto-paths, but not receive them) auto-paths: false # If set, this character will be inserted after each character ("abc" -> "a_b_c_") to prevent IRC highlights # The default value, "\u200B", is the unicode zero width space. "\x0f" (irc formatting reset code) might work too. # Double quotes are important in yaml when using character escapes like these! # anti-highlight: "\u200B" #Paths between endpoints within the same group are not established. These groups will be created automatically (set to '' to disable): #*For the three endpoints above minecraft-group-name: '' #*For all your IRC endpoints irc-group-name: 'minecraftchat' #Here you can define custom tag groups. tag-groups: cancelled-group-name: '' # irc: # - 'minecraftchat' # - 'adminchat' # - 'consolechat' # group-name: # - tagname # - ... #Set this to true to have CraftIRC cancel all minecraft chat if no other plugin is doing it. cancel-chat: false #IRC commands start with this, for example '.players' (it's not part of the command name though) command-prefix: '!' #Use different words for IRC commands irc-commands: say: ['say','mc'] players: ['players'] exec: ['exec'] cmd: ['cmd','c'] #Output a LOT of crap to the console in case you're having problems or are a plugin developer. debug: false #Console commands that can be called by an admin using .cmd/.c in an admin channel console-commands: ['reload', 'save-all', 'kick', 'ban', 'say', 'time'] #Delay before allowing these event types to be relayed (prevent startup flood) hold-after-enable: {chat: 0, joins: 0, quits: 0, kicks: 0, bans: 0} #How long in seconds before attempting a reconnect/rejoin when a connection/join fails. retry-delay: 10 #Bind to a specific IP address in your server. #bind-address: 127.0.0.1 #Default formatting templates used in all messages. Plugins may require you to add more. formatting: #### VARIABLES AND COLORS (from colormap): %name% (as in %message% or %yellow%). Different events provide different variables. #### IRC FORMATTING: %b% %u% %r% %o% %k% %kNUM% (NUM is 0 to 15); Do the same as CTRL+key in mIRC (%o% uses'foreground') from-game: private: '(%sender%) %message%' chat: '(%sender%) %o%%message%' action: '* %sender% %o%%message%' join: '%darkgrey%[%sender% connected]' quit: '%darkgrey%[%sender% disconnected]' kick: '[%red% KICKED %sender% (%message%)]' ban: '[%red% BANNED %sender% (%message%)]' admin: '%sender% to online admins ->- %message%' generic: '%message%' say: '[Server] %message%' death: '%message%' from-irc: chat: '%grey%[irc]%white% %teal%<%sender%>%white% %message%' action: '%grey%[irc]%white% * %teal%%sender%%white% %message%' join: '%grey%[irc]%white% * Joins: %teal%%sender%%white%' part: '%grey%[irc]%white% * Parts: %teal%%sender%%white%' quit: '%grey%[irc]%white% * Quits: %teal%%sender%%white%' kick: '%grey%[irc]%white% * %teal%%sender%%white% was kicked by &c%red%%white%' nick: '%grey%[irc]%white% * %teal%%sender%%white% is now known as %message%' generic: '%message%' private: '%sender% whispers> %message%' from-plain: action: '* %sender% %message%' say: '[Server] %message%' generic: '%message%' #==========Classic formatting========== # from-game: # chat: '(%sender%) %message%' # private: '(%sender%) %message%' # action: '* %sender% %message%' # join: '[%sender% connected]' # quit: '[%sender% disconnected]' # kick: '[%sender% was KICKED (%message%)]' # admin: '%sender% to online admins ->- %message%' # generic: '%message%' # say: '[Server] %message%' # death: '%message%' # from-irc: # chat: '[%srcChannel%] <%sender%> %message%' # private: '%sender% whispers> %message%' # action: '[%srcChannel%] * %sender% %message%' # join: '[%srcChannel%] * Joins: %sender%' # part: '[%srcChannel%] * Parts: %sender%' # quit: '[%srcChannel%] * Quits: %sender% (%message%)' # kick: '[%srcChannel%] * %sender% was kicked by %moderator% (%message%)' # nick: '[%srcChannel%] * %sender% is now known as %message%' # generic: '%message%' # from-plain: # action: '* %sender% %message%' # say: '[Server] %message%' # generic: '%message%' #====================================== #==========Colorful formatting========= #from-game: # chat: '<%prefix%%sender%%suffix%%o%> %message%' # private: '%prefix%%sender%%suffix%%o% whispers> %message%' # action: '%purple%* %prefix%%sender%%suffix%%purple% %message%' # join: '%darkgrey%[%sender% connected]' # quit: '%darkgrey%[%sender% disconnected]' # kick: '%red%[%sender% was KICKED (%message%)]' # generic: '%darkgrey%%message%' # admin: '%prefix%%sender%%suffix% to online admins> %message%' # death: '%red%%message%' #from-irc: # chat: '%grey%[%srcChannel%]%foreground% <%ircPrefix%%sender%> %message%' # private: '%grey%[IRC]%foreground% %sender% whispers> %message%' # action: '%grey%[%srcChannel%]%purple% * %ircPrefix%%sender% %message%' # join: '%grey%[%srcChannel%]%darkgreen% * Joins: %sender%' # part: '%grey%[%srcChannel%]%darkgreen% * Parts: %sender%' # quit: '%grey%[%srcChannel%]%blue% * Quits: %sender%' # kick: '%grey%[%srcChannel%]%darkgreen% * %sender% was kicked by %ircModPrefix%%moderator%' # nick: '%grey%[%srcChannel%]%darkgreen% * %sender% is now known as %message%' # generic: '%grey%%message%' #from-plain: # action: '%purple%* %sender%%purple% %message%' # say: '%magenta%[Server] %message%' #====================================== # ******************* IRC BOTS/SERVERS AND CHANNELS ******************* [CHANGES REQUIRED] # Every bot connects to one IRC server and can contain any amount of channels. # Every channel is a communication endpoint. bots: - nickname: 'UltimateMC' server: 'irc.mattie-systems.nl' # Change this to the IRC server you wish to connect to port: 6667 userident: 'bot' #Username/ident, anything you want serverpass: '' #This isn't the nickserv password ssl: false #Prevent flood by setting a delay (in ms) between messages to IRC and a maximum queue size. message-delay: 1000 queue-size: 5 #Who's considered an admin within a channel? admin-prefixes: ['@', '%', '~', '&'] #Ignore a user by nickname in this server. For greater flexibility use path filters (see further below). ignored-users: [] #If the bot's nickname is registered, put the authentication info here. auth: method: 'nickserv' #Available methods: 'none', 'nickserv', 'gamesurge', 'quakenet' username: 'UltimateMC' password: 'asdasdasd' delay: 1000 # Milliseconds to wait after authenticating before joining channels. #Send raw IRC commands to the server every time I connect. on-connect: # - 'PRIVMSG MyBoss :I live again!' ## Channels for this bot to join. ## channels: - name: '#umc_minecraft' password: '' #Identifies this channel's endpoint (for the paths: section). tag: 'minecraftchat' #Send raw IRC commands to the server every time I join this channel. on-join: - 'PRIVMSG #umc_minecraft :UMCBOT reporting for duty!' # Ignore the +c mode and try sending colors anyway if there are colors in a message force-colors: false - name: '#minecraft.a' password: '' tag: 'adminchat' on-join: - 'PRIVMSG #minecraft.a :ADMIN CHAN!' force-colors: false - name: '#minecraft.console' password: '' tag: 'console' on-join: - 'PRIVMSG #minecraft.console :CONSOLE CHAN' force-colors: false #- name: '#anotherchannel' # ... #Define here alternative display names for users of your IRC channels (useful if you want anonymous admins). #To override these in a formatting string use %realSender%. irc-nickname-map: # Animosity: Ytisomina #Set this to true if you only want the above nicknames to be able to communicate from IRC. Everyone else will be filtered. use-map-as-whitelist: false #- nickname: 'AnotherBot' # ... # ******************* COMMUNICATION PATHS ******************* # (For most uses, only needed if settings.auto-paths is false) # Declare here a path for every pair of endpoints between which you want messages to flow. # For each path you can filter the messages sent by event type or contents. # Paths are one-way, so you must declare A to B and B to A if you want a two-way channel. paths: - source: 'minecraft' target: 'minecraftchat' - source: 'minecraftchat' target: 'minecraft' - source: 'minecraft' target: 'adminchat' - source: 'admin' target: 'adminchat' - source: 'console' target: 'consolechat' # # #Every path can contain a list of filters. Use for swear word censorship, blocking by user, etc. # filters: # #Each filter contains regular expressions for formatting variables. This one ignores commands (.TEXT) # - message: '^\.[^ ]+' # # #Every path can override the formatting strings defined in settings.formatting . # formatting: # # chat: '[%srcChannel%] <%sender%> %message%' # # join: '[%srcChannel%] * Joins: %sender%' # # #Every path can override the attributes block from default-attributes (see below). # attributes: # # admin: false # # ... # # #A path can inherit missing attributes from another existing path rather than from default-attributes. # #base: {source: 'minecraft', target: 'changeme'} # # #The disable flag allows you to disable a path temporarily without removing it from the configuration file. # disable: false #- source: 'somewhere' # target: 'elsewhere' # ... # ******************* DEFAULT PATH ATTRIBUTES ******************* [CHANGES REQUIRED] # If an attribute isn't defined in a path, these are used. # If an attribute isn't defined here either, it defaults to 'false'. default-attributes: #Disables all communication paths. No message will be sent anywhere. #If you don't set this to false, CraftIRC may not work! disable: false #Every event type (they're the same as the names in settings.formatting) can be enabled or disabled here. #In addition, commands (such as those handled by other plugins) may require you to define extra attributes. attributes: chat: true action: true join: true part: true nick: true quit: true kick: true private: true command: true say: true generic: true death: true #Admin commands and /admins! can only be sent through a path where admin is set to true admin: false #True: Colors will be converted. False: Colors will be stripped. colors: true # ******************* COLOR CONVERSION MAP ******************* # Here you can assign 3-tuples with names, IRC colors and Minecraft colors. # You must never repeat a name, an irc color or a minecraft color in more than one 3-tuple. # Use %colorname% in a formatting string to have the correct color show up in the message. colormap: # - {irc: 0, game: "\u00A70", name: 'background'} - {irc: 0, game: "\u00A70", name: 'background'} - {irc: 2, game: "\u00A71", name: 'navy'} - {irc: 3, game: "\u00A72", name: 'darkgreen'} - {irc: 10, game: "\u00A73", name: 'teal'} - {irc: 5, game: "\u00A74", name: 'maroon'} - {irc: 6, game: "\u00A75", name: 'purple'} - {irc: 7, game: "\u00A76", name: 'orange'} - {irc: 15, game: "\u00A77", name: 'grey'} - {irc: 14, game: "\u00A78", name: 'darkgrey'} - {irc: 12, game: "\u00A79", name: 'blue'} - {irc: 9, game: "\u00A7a", name: 'green'} - {irc: 11, game: "\u00A7b", name: 'cyan'} - {irc: 4, game: "\u00A7c", name: 'red'} - {irc: 13, game: "\u00A7d", name: 'magenta'} - {irc: 8, game: "\u00A7e", name: 'yellow'} - {irc: 1, game: "\u00A7f", name: 'white'} - {irc: -1, game: "\u00Afr", name: 'reset'} # ******************* REPLACEMENT FILTERS ******************* # This section allows you to set up find and replace rules on # every section of every message sent by CraftIRC. # If you want to delete messages instead you should use the path filters, above. # Each filter contains regular expressions for formatting variables. # For example, you can change the prefix of IRC Channel Operators to something # different by executing a replacement on the %ircPrefix% variable. # filters: # ircPrefix: ['@' : 'Op '] # Or you could censor IP addresses to and from chat. # filters: # message: ['(\d+\.){3}\d+' : '#.#.#.#'] # When writing searches, the following characters have special meanings: # ^ $ . + ? * { } [ ] ( ) # If you want to use these characters normally, escape them with a backslash \. # When writing the replacement, make sure you escape any $ or \ characters # with an additional \ unless you want to use backreferences. # Example: Changing emoticon ^_^ to $_$ # filters: # message: ['\^_\^' : '\$_\$'] # To delete a search, use an empty replacement, or none at all. # This example shows two ways of deleting. The searches are xxx and yyy. # filters: # message: [xxx, yyy : ''] # Remember that any list can be written in two ways. # filters: # prefix: ['mod' : 'Mod', 'adm' : 'Admin'] # is equivalent to # filters: # prefix: # - 'mod' : 'Mod' # - 'adm' : 'Admin' filters: command: [] source: [] target: [] prefix: [] suffix: [] sender: [] realSender: [] message: [] moderator: [] world: [] # IRC only variables: ircPrefix: [] realModerator: [] ircModPrefix: [] modUsername: [] modHostname: [] srcChannel: []