@Override public void onJoin( final String channel, final String sender, final String login, final String hostname) { if (channelDao.get(channel).getLogged()) { logsDao.logMessage(Logs.Type.JOIN, sender, channel, ":" + hostname + " joined the channel"); } }
@SuppressWarnings({"StringContatenationInLoop"}) public final void connect() { while (!isConnected()) { try { connect(host, port); sendRawLine("PRIVMSG NickServ :identify " + getNickPassword()); sleep(authWait); final List<Channel> channelList = channelDao.getChannels(); if (channelList.isEmpty()) { Channel chan = new Channel(); chan.setName("##" + getNick()); System.out.println("No channels found. Initializing to " + chan.getName()); changeDao.save(chan); chan.join(this); } else { for (final Channel channel : channelList) { new Thread( new Runnable() { @Override public void run() { channel.join(Javabot.this); } }) .start(); } } } catch (Exception exception) { disconnect(); log.error(exception.getMessage(), exception); } sleep(1000); } }
@Override public void onPart( final String channel, final String sender, final String login, final String hostname) { final Channel chan = channelDao.get(channel); if (chan != null && chan.getLogged()) { logsDao.logMessage(Logs.Type.PART, sender, channel, "parted the channel"); } }
@Override public void onQuit( final String channel, final String sender, final String login, final String hostname) { final Channel chan = channelDao.get(channel); if (chan != null && chan.getLogged()) { logsDao.logMessage(Logs.Type.QUIT, sender, channel, "quit"); } else if (chan == null) { log.debug("not logging " + channel); } }
protected final void logMessage(final Message message) { final BotEvent event = message.getEvent(); final String sender = getNick(); final String channel = event.getChannel(); if (!channel.equals(sender)) { if (channelDao.isLogged(channel)) { logsDao.logMessage( Logs.Type.MESSAGE, sender, message.getDestination(), message.getMessage()); } } }
@Override public void onKick( final String channel, final String kickerNick, final String kickerLogin, final String kickerHostname, final String recipientNick, final String reason) { if (channelDao.get(channel).getLogged()) { logsDao.logMessage( Logs.Type.KICK, kickerNick, channel, " kicked " + recipientNick + " (" + reason + ")"); } }
@Override public void onAction( final String sender, final String login, final String hostname, final String target, final String action) { if (log.isDebugEnabled()) { log.debug("Sender " + sender + " Message " + action); } if (channelDao.get(target).getLogged()) { logsDao.logMessage(Logs.Type.ACTION, sender, target, action); } }
@Override public void onInvite( final String targetNick, final String sourceNick, final String sourceLogin, final String sourceHostname, final String channel) { if (log.isDebugEnabled()) { log.debug("Invited to " + channel + " by " + sourceNick); } if (channel.equals(channelDao.get(channel).getName())) { joinChannel(channel); } }
private List<Logs> dailyLog(String channelName, DateTime date) { Channel channel = channelDao.get(channelName); List<Logs> list = null; if (channel.getLogged()) { DateTime start = (date == null ? new DateTime(DateTimeZone.forID("US/Eastern")) : date) .withTimeAtStartOfDay(); DateTime tomorrow = start.plusDays(1); LogsCriteria criteria = new LogsCriteria(ds); criteria.channel().equal(channelName); criteria.and( criteria.updated().greaterThanOrEq(start), criteria.updated().lessThanOrEq(tomorrow)); list = criteria.query().asList(); } return list; }