package hudson.plugins.im.bot; import hudson.model.Hudson; import hudson.model.User; import hudson.plugins.cigame.UserScoreProperty; import hudson.plugins.im.Sender; import hudson.tasks.Mailer; public class UserStatCommand extends AbstractTextSendingCommand { @Override protected String getReply(Sender sender, String[] args) { String userName = args[1]; User user = User.get(userName, false); if (user != null) { StringBuilder buf = new StringBuilder(); buf.append(userName).append(":"); if (!userName.equals(user.getFullName())) { buf.append("\n").append("Full name: ").append(user.getFullName()); } if (user.getDescription() != null) { buf.append("\n").append("Description: ").append(user.getDescription()); } Mailer.UserProperty mailProperty = user.getProperty(Mailer.UserProperty.class); if (mailProperty != null) { buf.append("\n").append("E-mail: ").append(mailProperty.getAddress()); } // if (Hudson.getInstance().getPlugin("jabber") != null) { // // } if (Hudson.getInstance().getPlugin("ci-game") != null) { UserScoreProperty property = user.getProperty(UserScoreProperty.class); if (property != null) { int score = (int) property.getScore(); buf.append("\n").append("Current score in continuous integration game: ").append(score); } } return buf.toString(); } else { return "Don't know a user named " + userName; } } @Override public String getHelp() { return " <username> - prints information about a Hudson user"; } }