Lingr の botU が人間以外に挨拶しないように細工した
発言があると human かどうか識別できる…と思ったのだが甘かった。
protected boolean isHuman(Message message, Response response) { if (message == null || response == null) return false; String occupantId = message.getOccupantId(); if (StringUtils.isBlank(occupantId)) return false; Occupant occupant = response.getOccupant(occupantId); if (occupant == null) return false; return "human".equals(occupant.getClientType()); }
殆どエラー処理で、 要するにこういうことである。
String occupantId = message.getOccupantId(); Occupant occupant = response.getOccupant(occupantId); return "human".equals(occupant.getClientType());
message の中にはそれを言った人(?)の occupant ID という情報があって、 それを使って対応する Occupant を探せば、 そこに human なのかどうか、という情報があるという仕組。
- 2007.02.12 Monday
- Lingr
- 18:35
- comments(0)
- trackbacks(0)
- by phinloda