Pircbotx 通道 setMode() 在 main() 方法中不起作用
Posted
技术标签:
【中文标题】Pircbotx 通道 setMode() 在 main() 方法中不起作用【英文标题】:Pircbotx channel setMode() not working in main() method 【发布时间】:2020-03-21 17:54:14 【问题描述】:我正在尝试将模式设置为 IRC 频道,但 PircBotX 在 main 方法中调用时似乎没有执行该命令。该命令在我发送我在代码中设置的消息 (!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");
【讨论】:
以上是关于Pircbotx 通道 setMode() 在 main() 方法中不起作用的主要内容,如果未能解决你的问题,请参考以下文章