message: Fetch reply data from the eventCache, if found.
diff: @@ -1277,17 +1277,22 @@ MatrixHandler.prototype._sendIrcAction = Promise.coroutine(
  const REPLY_SOURCE_MAX_LENGTH = 32;
  const REPLY_NAME_MAX_LENGTH = 12;
  if (event.content["m.relates_to"] && event.content["m.relates_to"]["m.in_reply_to"]) {
  + const eventId = event.content["m.relates_to"]["m.in_reply_to"].event_id;
  // This is a reply.
  const match = /> <(@.*:.*)>(.*)\n\n(.*)/.exec(text);
  if (match.length === 4) {
  - let rplName;
  - const rplSourceTrimmed = match[2].trim();
  - const rplSource = rplSourceTrimmed.substr(0, REPLY_SOURCE_MAX_LENGTH) +
  - (rplSourceTrimmed.length > REPLY_SOURCE_MAX_LENGTH ? "..." : "");
  + let rplName = match[1];
  + let rplSource = match[2].trim();
  + if (this._eventCache.has(eventId)) {
  + rplName = this._eventCache.get(eventId).sender;
  + rplSource = this._eventCache.get(eventId).body;
  + }
  + rplSource = rplSource.substr(0, REPLY_SOURCE_MAX_LENGTH) +
  + (rplSource.length > REPLY_SOURCE_MAX_LENGTH ? "..." : "");
  const rplText = match[3];
  // Fetch the sender's IRC nick.
  - const sourceClient = this.ircBridge.getIrcUserFromCache(ircRoom.server, match[1]);
  + const sourceClient = this.ircBridge.getIrcUserFromCache(ircRoom.server, rplName);
  if (sourceClient) {
  rplName = sourceClient.nick;
  }
  