当前位置: 首页>>代码示例>>Java>>正文


Java WaitForQueue.close方法代码示例

本文整理汇总了Java中org.pircbotx.hooks.WaitForQueue.close方法的典型用法代码示例。如果您正苦于以下问题:Java WaitForQueue.close方法的具体用法?Java WaitForQueue.close怎么用?Java WaitForQueue.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.pircbotx.hooks.WaitForQueue的用法示例。


在下文中一共展示了WaitForQueue.close方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleCommand

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
@Override
public void handleCommand(String sender, MessageEvent event, String command, String[] args) {
	if (command.equals(".ping")) {
		event.respond("Pong!");
	}
	if (command.equals(".whoami")) {
		event.getUser().send().notice("UUID: " + event.getUser().getUserId().toString());
		event.getUser().send().notice("Verified: " + event.getUser().isVerified() + "\n");
		event.getUser().send().notice("Login: " + event.getUser().getLogin() + "\n");
		event.getUser().send().notice("Real name: " + event.getUser().getRealName() + "\n");
		event.getUser().send().notice("Hostmask: " + event.getUser().getHostmask() + "\n");
		try {
			event.getBot().sendRaw().rawLine("WHOIS " + event.getUser().getNick() + " " + event.getUser().getNick());
			WaitForQueue waitForQueue = new WaitForQueue(event.getBot());
			while (true) {
				WhoisEvent whoisEvent = waitForQueue.waitFor(WhoisEvent.class);
				if (!whoisEvent.getNick().equals(event.getUser().getNick()))
					continue;
				 waitForQueue.close();
				event.getUser().send().notice("Registered as: " + whoisEvent.getRegisteredAs());
			}
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}
 
开发者ID:MCUpdater,项目名称:RavenBot,代码行数:27,代码来源:DebugHandler.java

示例2: isOp

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
public boolean isOp(PircBotX sourceBot, User user) {
 String nsRegistration = "";
 if (userCache.containsKey(user.getUserId()) && userCache.get(user.getUserId()).getExpiration().after(Calendar.getInstance().getTime())) {
  nsRegistration = userCache.get(user.getUserId()).getValue();
  System.out.println(user.getNick() + " is cached");
 } else {
  System.out.println(user.getNick() + " is NOT cached");
  user.isVerified();
  try {
   sourceBot.sendRaw().rawLine("WHOIS " + user.getNick() + " " + user.getNick());
   WaitForQueue waitForQueue = new WaitForQueue(sourceBot);
   WhoisEvent whoisEvent = waitForQueue.waitFor(WhoisEvent.class);
   waitForQueue.close();
   nsRegistration = whoisEvent.getRegisteredAs();
  } catch (Exception e) {
   e.printStackTrace();
  }
  if (!nsRegistration.isEmpty()) {
   Calendar future = Calendar.getInstance();
   future.add(Calendar.MINUTE,5);
   userCache.put(user.getUserId(), new ExpiringToken(future.getTime(),nsRegistration));
   System.out.println(user.getUserId().toString() + " added to cache: " + nsRegistration + " expires at " + future.toString());
  }
 }
 return (getOps().contains(nsRegistration));
}
 
开发者ID:MCUpdater,项目名称:RavenBot,代码行数:27,代码来源:RavenBot.java

示例3: getAccount

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
public static String getAccount(User u, org.pircbotx.hooks.events.MessageEvent event) {
    String user = null;
    event.getBot().sendRaw().rawLineNow("WHOIS " + u.getNick());
    WaitForQueue waitForQueue = new WaitForQueue(event.getBot());
    WhoisEvent test;
    try {
        test = waitForQueue.waitFor(WhoisEvent.class);
        waitForQueue.close();
        user = test.getRegisteredAs();
    } catch (InterruptedException ex) {
        Logger.getLogger(MessageEvent.class.getName()).log(Level.SEVERE, null, ex);
        event.getUser().send().notice("Please enter a valid username!");
    }
    waitForQueue.close();

    return user;
}
 
开发者ID:harry2258,项目名称:AlfredV2-FTB-IRC-,代码行数:18,代码来源:Utils.java

示例4: getIP

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
public static String getIP(String User, org.pircbotx.hooks.events.MessageEvent event) {
    String ip = null;

    User u = event.getBot().getUserChannelDao().getUser(User);
    event.getBot().sendRaw().rawLineNow("WHOIS " + u.getNick());
    WaitForQueue waitForQueue = new WaitForQueue(event.getBot());
    WhoisEvent test;
    try {
        test = waitForQueue.waitFor(WhoisEvent.class);
        waitForQueue.close();
        if (Utils.ValidIP(test.getHostname()))
            ip = test.getHostname();
        else
            ip = java.net.InetAddress.getByName(test.getHostname()).getHostAddress();
    } catch (InterruptedException ex) {
        Logger.getLogger(com.harry2258.Alfred.listeners.MessageEvent.class.getName()).log(Level.SEVERE, null, ex);
    } catch (UnknownHostException e) {
        e.printStackTrace();
    }
    return ip;
}
 
开发者ID:harry2258,项目名称:AlfredV2-FTB-IRC-,代码行数:22,代码来源:Utils.java

示例5: call

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
@Override
public AuthLevel call() throws Exception {
    user.getBot().sendIRC().message("NickServ", "STATUS " + user.getNick());
    WaitForQueue queue = new WaitForQueue(user.getBot());
    while (true) {
        @SuppressWarnings("unchecked") NoticeEvent<PircBotX> event =
                queue.waitFor(NoticeEvent.class);
        if (!isMessage(event)) {
            continue;
        }
        queue.close();
        return getLevel(event.getMessage());
    }
}
 
开发者ID:likcoras,项目名称:A-Gario,代码行数:15,代码来源:AuthChecker.java

示例6: getAccount

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
private static String getAccount(User u, org.pircbotx.hooks.events.InviteEvent event) {
    String user = "";
    event.getBot().sendRaw().rawLineNow("WHOIS " + u.getNick());
    WaitForQueue waitForQueue = new WaitForQueue(event.getBot());
    WhoisEvent test;
    try {
        test = waitForQueue.waitFor(WhoisEvent.class);
        waitForQueue.close();
        user = test.getRegisteredAs();
    } catch (InterruptedException ex) {
        Logger.getLogger(com.harry2258.Alfred.listeners.MessageEvent.class.getName()).log(Level.SEVERE, null, ex);
    }
    waitForQueue.close();
    return user;
}
 
开发者ID:harry2258,项目名称:AlfredV2-FTB-IRC-,代码行数:16,代码来源:InviteEvent.java

示例7: getAccount

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
private static String getAccount(User u, org.pircbotx.hooks.events.JoinEvent event) {
    String user = "";
    event.getBot().sendRaw().rawLineNow("WHOIS " + u.getNick());
    WaitForQueue waitForQueue = new WaitForQueue(event.getBot());
    WhoisEvent test;
    try {
        test = waitForQueue.waitFor(WhoisEvent.class);
        waitForQueue.close();
        user = test.getRegisteredAs();
    } catch (InterruptedException ex) {
        Logger.getLogger(com.harry2258.Alfred.listeners.MessageEvent.class.getName()).log(Level.SEVERE, null, ex);
    }
    waitForQueue.close();
    return user;
}
 
开发者ID:harry2258,项目名称:AlfredV2-FTB-IRC-,代码行数:16,代码来源:JoinEvent.java

示例8: getAccount

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
private static String getAccount(User u, org.pircbotx.hooks.events.NickChangeEvent event) {
    String user = "";
    event.getBot().sendRaw().rawLineNow("WHOIS " + u.getNick());
    WaitForQueue waitForQueue = new WaitForQueue(event.getBot());
    WhoisEvent test;
    try {
        test = waitForQueue.waitFor(WhoisEvent.class);
        waitForQueue.close();
        user = test.getRegisteredAs();
    } catch (InterruptedException ex) {
        Logger.getLogger(com.harry2258.Alfred.listeners.MessageEvent.class.getName()).log(Level.SEVERE, null, ex);
    }
    waitForQueue.close();
    return user;
}
 
开发者ID:harry2258,项目名称:AlfredV2-FTB-IRC-,代码行数:16,代码来源:NickChangeEvent.java

示例9: execute

import org.pircbotx.hooks.WaitForQueue; //导入方法依赖的package包/类
@Override
public boolean execute(final MessageEvent event) {
    try {
        if (PermissionManager.hasExec(event.getUser().getNick())) {
            final String user = event.getUser().getNick();
            final WaitForQueue queue = new WaitForQueue(event.getBot());
            event.respond("Please type " + Colors.BOLD + config.getTrigger() + "kill" + Colors.NORMAL + " again in the next 10 seconds to kill the bot!");
            ExecutorService service = Executors.newSingleThreadExecutor();

            try {
                Runnable r = new Runnable() {
                    @Override
                    public void run() {
                        while (true) {
                            MessageEvent currentEvent = null;
                            com.harry2258.Alfred.listeners.MessageEvent.waiting = true;
                            try {
                                currentEvent = queue.waitFor(MessageEvent.class);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }

                            if (currentEvent != null) {
                                if (currentEvent.getMessage().equalsIgnoreCase(config.getTrigger() + "kill") && currentEvent.getUser().getNick().equals(user)) {
                                    System.out.println("Shutting down");
                                    event.getBot().stopBotReconnect();
                                    event.getBot().sendIRC().quitServer("Killed by " + event.getUser().getNick());
                                    Main.SafeStop = true;
                                    if (config.isEnableChatSocket()) {
                                        ChatSocketListener.kill();
                                    }
                                    if (config.isTwitterEnabled()) {
                                        Twitter.kill();
                                    }
                                    if (config.isRedditEnabled()) {
                                        Reddit.kill();
                                    }
                                    if (config.UpdaterChecker()) {
                                        com.harry2258.Alfred.Misc.Update.kill();
                                    }
                                    RecentChanges.kill();
                                    System.exit(2258);
                                }
                            }
                        }
                    }

                };

                if (!com.harry2258.Alfred.listeners.MessageEvent.waiting) {
                    Future<?> f = service.submit(r);
                    f.get(10, TimeUnit.SECONDS);
                }

            } catch (InterruptedException ignored) {
            }
            service.shutdown();
            queue.close();
            com.harry2258.Alfred.listeners.MessageEvent.waiting = false;
            event.respond("Bot shutdown aborted!");
            return true;
        }
        event.respond("You need to be an Exec. user to be able to kill the bot!");
    } catch (ExecutionException | TimeoutException ex) {
        Logger.getLogger(Kill.class.getName()).log(Level.SEVERE, null, ex);
        return false;
    }
    return true;
}
 
开发者ID:harry2258,项目名称:AlfredV2-FTB-IRC-,代码行数:70,代码来源:Kill.java


注:本文中的org.pircbotx.hooks.WaitForQueue.close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。