message: Function to leave matrix virtuals from a room.
diff: @@ -990,6 +990,26 @@ Provisioner.prototype._partUnlinkedIrcClients = Promise.coroutine(
  }
  );
  +Provisioner.prototype._leaveMatrixVirtuals = Promise.coroutine(
  + function*(req, roomId, server, ircChannel) {
  + const roomChannels = yield this._ircBridge.getStore().getIrcChannelsForRoomId(
  + roomId
  + );
  + if (roomChannels > 0) {
  + // We can't determine who should and shouldn't be in the room.
  + return;
  + }
  + stateEvents = yield asBot.getClient().roomState(roomId);
  + let roomInfo = asBot._getRoomInfo(matrixRooms[i].getId(), {
  + state: {
  + events: stateEvents
  + }
  + });
  + req.log.info(`Leaving ${roomInfo.remoteJoinedUsers.length} virtual users from ${roomId}.`);
  + this._ircBridge.memberListSyncers[server.domain].addToLeavePool(roomInfo.remoteJoinedUsers, roomId, ircChannel);
  + }
  +);
  +
  // Cause the bot to leave the matrix room if there are no other channels being mapped to
  // this room
  Provisioner.prototype._leaveMatrixRoomIfUnprovisioned = Promise.coroutine(
  