Config may or may not be screwed up. Rewrote reply() to just pull its source.channel, source.character out of the message object it replies to, instead of bothering of putting it into datapipe as an intermediary. reply() now takes three arguments - the string to send as reply, the Message instance from which to pull Source and optionally, route_override. reply by default sends its reply to the user via the same path the command came in, e.g. channel to channel, PM to PM. path_override lets you force a path to only ever reply in PMs or what have you.