本文整理汇总了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();
}
}
}
示例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));
}
示例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;
}
示例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;
}
示例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());
}
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}