All pastes #585067 Raw Edit

Mine

public text v1 · immutable
·published 2007-06-23 01:15 UTC
rendered paste body
/*
 * This file is part of DrFTPD, Distributed FTP Daemon.
 *
 * DrFTPD is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * DrFTPD is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with DrFTPD; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
package org.drftpd.sitebot;

import org.drftpd.plugins.SiteBot;
import org.drftpd.usermanager.User;

import f00f.net.irc.martyr.GenericAutoService;
import f00f.net.irc.martyr.IRCConnection;
import f00f.net.irc.martyr.InCommand;
import f00f.net.irc.martyr.State;
import f00f.net.irc.martyr.commands.JoinCommand;
import f00f.net.irc.martyr.commands.RawCommand;
import f00f.net.irc.martyr.commands.WelcomeCommand;
import f00f.net.irc.martyr.errors.ChannelBannedError;
import f00f.net.irc.martyr.errors.ChannelInviteOnlyError;
import f00f.net.irc.martyr.errors.ChannelLimitError;
import f00f.net.irc.martyr.errors.ChannelWrongKeyError;
import f00f.net.irc.martyr.commands.MessageCommand; //added by pias



/**
 * @author mog
 * @version $Id: OnConnect.java 1513 2006-10-13 22:41:08Z tdsoul $
 */
public class OnConnect extends GenericAutoService {
    private State _state;

    public OnConnect(SiteBot sitebot) {
        super(sitebot.getIRCConnection());

        IRCConnection connection = sitebot.getIRCConnection();

        updateState(connection.getState());
        _state = connection.getState();
    }

    protected void updateState(State state) {
    }

    protected void updateCommand(InCommand command) {
        if ((command.getState() != _state) &&
                (command.getState() == State.REGISTERED) &&
                command instanceof WelcomeCommand) {
            onConnect((WelcomeCommand) command);
        }

        _state = command.getState();

        if (command instanceof JoinCommand) {
            onJoin((JoinCommand) command);
        } else if (command instanceof ChannelInviteOnlyError) {
            needInvite((ChannelInviteOnlyError) command);
        } else if (command instanceof ChannelWrongKeyError) {
            needKey((ChannelWrongKeyError) command);
        } else if (command instanceof ChannelBannedError) {
            needUnban((ChannelBannedError) command);
        } else if (command instanceof ChannelLimitError) {
            needLimit((ChannelLimitError) command);
        }

		
        //TODO need-op?
    }

    private void onJoin(JoinCommand command) {
    }

    private void needLimit(ChannelLimitError error) {
    }

    private void needUnban(ChannelBannedError error) {
    }

    private void needKey(ChannelWrongKeyError error) {
    }

    private void needInvite(ChannelInviteOnlyError error) {
    }

    private void onConnect(WelcomeCommand command) {
        getConnection().sendCommand(new RawCommand("MODE " + command.getNick() +
                " :+i"));
		getConnection().sendCommand(new MessageCommand("Pias", "message"));
    }

    public String getCommands() {
        return null;
    }

    public String getCommandsHelp(User user) {
    	return "";
    }
    
}