[
  {
    "name": "local",
    "patterns": [
      {
        "pattern": "^.+ (says|asks|exclaims|whispers)(,? .+)? '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^'.*' .+ (says|asks|exclaims)(,? .+)?.$",
        "type": "regex"
      },
      {
        "pattern": "^You( .+)? (say|ask|exclaim|whisper)(,? .+)? '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^'.*' you( .+)? (say|ask|exclaim)(,? .+)?.$",
        "type": "regex"
      },
      {
        "pattern": "^\\(OOC\\) You say '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^\\(OOC\\) .* says '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^.+ speaks in your mind '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^You speak through your mind '.*'$",
        "type": "regex"
      }
    ],
    "script": "lotj.chat.routeMessage(\"local\")"
  },
  {
    "name": "commnet",
    "patterns": [
      {
        "pattern": "^CommNet ([0-9]+) \\[.*\\][()a-zA-Z<> ]*: (.*)",
        "type": "regex"
      }
    ]
  },
  {
    "name": "commnet-translated",
    "patterns": [
      {
        "pattern": "^.* buzzes '\\(Translating channel ([0-9]+)\\) (.*)'$",
        "type": "regex"
      }
    ]
  },
  {
    "name": "clan",
    "patterns": [
      {
        "pattern": "{.*}<.*>\\[[a-zA-Z'0-9- ]+\\][()<>A-Za-z ]*: ",
        "type": "regex"
      },
      {
        "pattern": "[Incoming Transmission from",
        "type": "substring"
      },
      {
        "pattern": "[Outgoing Transmission to",
        "type": "substring"
      }
    ],
    "script": "lotj.chat.routeMessage(\"clan\")"
  },
  {
    "name": "ooc",
    "patterns": [
      {
        "pattern": "^\\((OOC|IMM|RPC|NEWBIE)\\) [#*]?[\\w\\-()]+: .*$",
        "type": "regex"
      }
    ],
    "script": "lotj.chat.routeMessage(\"ooc\")"
  },
  {
    "name": "immchat",
    "patterns": [
      {
        "pattern": "^\\( IMM \\| CHAT \\) .* mortchats to .* '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^\\( IMM \\| CHAT \\)\\[.*\\]: '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^\\( IMM \\| CHAT \\) You mortchat to .* '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^ImmNet\\[.*\\]: .*$",
        "type": "regex"
      },
      {
        "pattern": "^CouncilNet\\[.*\\]: .*$",
        "type": "regex"
      },
      {
        "pattern": "^\\(R\\|P\\|C\\) .*: .*$",
        "type": "regex"
      },
      {
        "pattern": "^\\(R\\|P\\|C\\) .* '.*'$",
        "type": "regex"
      }
    ],
    "script": "lotj.chat.routeMessage(\"imm\")"
  },
  {
    "name": "tell",
    "patterns": [
      {
        "pattern": "^\\(OOC\\) .* tells you '.*'$",
        "type": "regex"
      },
      {
        "pattern": "^\\(OOC\\) You tell .* '.*'$",
        "type": "regex"
      }
    ],
    "script": "lotj.chat.routeMessage(\"tell\")"
  }
]
