Канал pircbotx setMode() не работает в методе main()

Я пытаюсь установить режим для канала IRC, но PircBotX, похоже, не выполняет команду при вызове в основном методе. Команда выполняется, когда я отправляю сообщение (! SetRModePlus), которое я установил в коде. Где я ошибаюсь в своем коде?

import org.pircbotx.Channel;
import org.pircbotx.Configuration;
import org.pircbotx.PircBotX;
import org.pircbotx.hooks.ListenerAdapter;
import org.pircbotx.hooks.types.GenericMessageEvent;

public class MyListener extends ListenerAdapter {

static Channel channel = null;
static PircBotX bot = null;

@Override
public void onGenericMessage(GenericMessageEvent event) {

   if (event.getMessage().startsWith("!setRModePlus")) {
         channel = bot.getUserChannelDao().getChannel("#mychannel");
         channel.send().setMode("+R");
    }
    if (event.getMessage().startsWith("!setRModeMinus")) {
         channel = bot.getUserChannelDao().getChannel("#mychannel");
         channel.send().setMode("-R");
    }
}

public static void main(String[] args) throws Exception {
    //Configure the bot
    Configuration configuration = new Configuration.Builder()
            .setName("myname")
            .addServer("myserver")
            .setNickservPassword("mypassword")
            .addAutoJoinChannel("#mychannel") 
            .addListener(new MyListener()) 
            .buildConfiguration();

    //Create  bot with the configuration
    bot = new PircBotX(configuration);
    bot.startBot();
    channel = bot.getUserChannelDao().getChannel("#mychannel");
    channel.send().setMode("+R");



}

Спасибо за любую помощь, которую вы можете предложить. Извините за мой английский.

1 ответ

Проблема решена. Я добавил метод onConnect и отправил такую ​​команду

 public void onConnect(ConnectEvent event) {

        event.getBot().send().mode("#mychannel", "+R");
        event.getBot().send().mode("#mychannel", "-R");


}
Другие вопросы по тегам