本文整理汇总了Java中org.pircbotx.hooks.Event类的典型用法代码示例。如果您正苦于以下问题:Java Event类的具体用法?Java Event怎么用?Java Event使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Event类属于org.pircbotx.hooks包,在下文中一共展示了Event类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: checkSpam
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@SneakyThrows(ExecutionException.class)
private boolean checkSpam(Event<AgarBot> event) {
if (!(event instanceof GenericMessageEvent)) {
return false;
}
@SuppressWarnings("rawtypes") GenericMessageEvent message =
(GenericMessageEvent) event;
User user = message.getUser();
if (user.getNick().equalsIgnoreCase("nickserv")) {
return false;
}
String host = user.getHostmask();
int strikes = spam.get(host, () -> 0) + 1;
spam.put(host, strikes);
return strikes > STRIKES;
}
示例2: onMessage
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public void onMessage(MessageEvent event) throws Exception {
if (event.getMessage().startsWith(Helix.botPrefix + Commands.nick + " ") && event.getMessage().length() > (Commands.nick.length() + 2) && admins.contains(Util.getLogin(event.getUser()).toLowerCase()) && Util.isVerified(event.getUser())) {
String newNick = event.getMessage().split(" ", 2)[1];
WaitForQueue queue = new WaitForQueue(event.getBot());
event.getBot().sendIRC().changeNick(newNick);
while (true) {
Event currentEvent = queue.waitFor(Arrays.asList(ServerResponseEvent.class, NickChangeEvent.class));
if (currentEvent instanceof ServerResponseEvent) {
switch (((ServerResponseEvent)currentEvent).getCode()) {
case 431:
event.getUser().send().notice("No nickname given");
return;
case 432:
event.getUser().send().notice("Erroneous nickname");
return;
case 433:
event.getUser().send().notice("Nickname is already in use");
return;
}
} else if (currentEvent instanceof NickChangeEvent && ((NickChangeEvent)currentEvent).getUser() == event.getBot().getUserBot()) return;
}
}
}
示例3: heartbeat
import org.pircbotx.hooks.Event; //导入依赖的package包/类
private void heartbeat(Event<MyPircBotX> event) throws BotException {
try {
ServerPingEvent<MyPircBotX> pingEvent = (ServerPingEvent<MyPircBotX>) event;
EventLog eventlog = new EventLog(pingEvent.getTimestamp(),
"SERVER", "", "", event.getBot().getNick(),
EventLog.TYPE.PING.toString());
begin();
getSession().save(eventlog);
commit();
} catch (Exception e) {
e.printStackTrace();
rollback();
throw new BotException("Error logging server ping.",e);
} finally {
close();
}
System.out.println("Heartbeat confirmed.");
}
示例4: run
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public String run(String[] params, Event<SlyBot> event) {
if (!(event instanceof PrivateMessageEvent)) return "false";
if (params.length == 2) {
//Check if no password is set
if (Settings.operatorpass.equals("")) {
event.getBot().getConfig().updateSetting(Reference.CONFIG_BOTPASS, params[1]);
event.getBot().reply(event, "Sucessfully updated password.");
return "true";
}
} else if (params.length == 3){
if (Settings.operatorpass.equals(params[1])) {
event.getBot().getConfig().updateSetting("operatorpass", params[2]);
event.getBot().reply(event, "Sucessfully updated password.");
return "true";
}
}
return "false";
}
示例5: run
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public String run(String[] parameters, Event<SlyBot> event) {
//Get the local version and build
String localVersion = event.getBot().getVersion();
String localBuild = localVersion.substring(localVersion.lastIndexOf(" ") + 1);
event.getBot().reply(event, "Currently running slybot version: " + Colors.BLUE + localVersion);
//Get upstream build version
String SHA = VersionUtil.getRemoteSHA("Balonbal", "slybot");
String remoteBuild = SHA.substring(0, localBuild.length());
if (!localBuild.equals(remoteBuild)) {
//Send a friendly reminder that a newer version exists
event.getBot().reply(event, "Newer version " + Colors.RED + remoteBuild + Colors.NORMAL + " was found, consider updating.");
event.getBot().reply(event, "Newest commit: " + Colors.DARK_BLUE + VersionUtil.getCommit("Balonbal", "slybot", SHA));
}
return localVersion;
}
示例6: run
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public String run(String[] params, Event<SlyBot> event) {
if (params.length > 1 && params[1] != null) {
String channel = params[1];
if (params[1].equalsIgnoreCase("-a") || params[1].equalsIgnoreCase("--auto")) {
channel = params[2];
event.getBot().getConfig().appendSetting(Reference.CONFIG_CHANNELS, channel);
}
System.out.println("Joining channel: " + channel);
event.getBot().sendIRC().joinChannel(channel);
return "true";
} else {
event.getBot().reply(event, "Too few parameters!");
}
return "false";
}
示例7: runAlias
import org.pircbotx.hooks.Event; //导入依赖的package包/类
private String runAlias(String[] params, Event<SlyBot> event) {
String alias = params[0].toUpperCase();
if (Settings.aliases.containsKey(alias)) {
String command = Settings.aliases.get(alias);
StringBuffer buffer = new StringBuffer();
Matcher matcher = pattern.matcher(command);
//Search and replace
while(matcher.find()) {
matcher.appendReplacement(buffer, getReplacement(matcher.group(), event, params));
System.out.println(buffer.toString());
}
matcher.appendTail(buffer);
String result = buffer.toString().replaceAll("\\\\", "");
//Run output in both listeners
if (Settings.aliases.containsKey(result.split("\\s+")[0])) return runAlias(result.split("\\s+"), event);
return Main.getCommandListener().getCommandHandler().processCommand(result, event);
}
return "false";
}
示例8: parseNested
import org.pircbotx.hooks.Event; //导入依赖的package包/类
private String parseNested(String s, Event event, String[] params) {
//Parse nested parenthesis
Matcher specialMatcher = specialPattern.matcher(s);
while (specialMatcher.find()) {
//The start of the match in the string
int start = specialMatcher.start();
//The length of the start, ex $IF(.....) is 5
int off = specialMatcher.group().replaceAll("\\((.*)\\)", "").length() + 2;
//Stop at startposition plus the full length of the parenthesis
int end = start + getOuterParentheses(s.substring(start)).length() + off;
//Get replacement for the parenthesis
String replace = getReplacement(s.substring(start, end), event, params);
//Replace the string in s
s = s.substring(0, start) + replace + s.substring(end);
//Reset the matcher in case of more matches
specialMatcher.reset(s);
}
return s;
}
示例9: onEvent
import org.pircbotx.hooks.Event; //导入依赖的package包/类
public void onEvent(Event e) {
try {
plugin.onEvent(e);
super.onEvent(e);
} catch (Exception ex) {
ex.printStackTrace();
}
}
示例10: onEvent
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public void onEvent(Event event) throws Exception {
if (event instanceof GenericUserMessageEvent) {
onGenericUserMessage((GenericUserMessageEvent)event);
} else {
if (event instanceof MessageEvent)
onGenericUserMessage(new GenericUserMessageEvent((MessageEvent)event));
else if (event instanceof ActionEvent)
onGenericUserMessage(new GenericUserMessageEvent((ActionEvent)event));
else if (event instanceof PrivateMessageEvent)
onGenericUserMessage(new GenericUserMessageEvent((PrivateMessageEvent)event));
else if (event instanceof NoticeEvent)
onGenericUserMessage(new GenericUserMessageEvent((NoticeEvent)event));
}
if (event instanceof ExtendedJoinEvent)
onExtendedJoin((ExtendedJoinEvent)event);
else if (event instanceof AccountNotifyEvent)
onAccountNotify((AccountNotifyEvent)event);
else if (event instanceof OutActionEvent)
onOutAction((OutActionEvent)event);
else if (event instanceof OutMessageEvent)
onOutMessage((OutMessageEvent)event);
else if (event instanceof OutNoticeEvent)
onOutNotice((OutNoticeEvent)event);
else if (event instanceof OutPrivateMessageEvent)
onOutPrivateMessage((OutPrivateMessageEvent)event);
else if (event instanceof Whois2Event)
onWhois2((Whois2Event)event);
if (event instanceof NoticeEvent) {
NoticeEvent e = (NoticeEvent)event;
if (e.getUser() == null || e.getUser().getServer() == null || e.getUser().getServer().equals("")) {
onServerNotice(new ServerNoticeEvent(e.getBot(), e.getUserHostmask(), e.getUser(), e.getMessage()));
return;
}
}
super.onEvent(event);
}
示例11: onEvent
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public void onEvent(final Event<MyPircBotX> event) throws Exception {
try{
eventlog.logEvent(event);
}catch(BotException e){
String admin = (event.getBot().getSettings().getAdmin());
event.getBot().sendIRC().message(admin, "I broke: " + e.getMessage());
}finally{
// This throws a generic Exception, but in *theory* the BotException will be caught,
// while anything else will be passed on to the bot to handle ever so gracefully.
super.onEvent(event);
}
}
示例12: run
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public String run(String[] params, Event<SlyBot> event) {
//Double check that this is in fact requested through a pm
if (!(event instanceof PrivateMessageEvent)) return "false";
if (params.length > 3) {
String nick = params[2];
String pwd = params[3];
if (pwd.equals(Settings.operatorpass)) {
if (params[1].equalsIgnoreCase("add")) {
event.getBot().getConfig().appendSetting(Reference.CONFIG_BOTOPS, nick);
} else if (params[1].equalsIgnoreCase("remove")) {
//Owner cannot be removed from the ops
if (!nick.equalsIgnoreCase(Settings.owner)) {
event.getBot().getConfig().removeSetting(Reference.CONFIG_BOTOPS, nick);
}
}
}
}
event.getBot().reply(event, "The current bot operators are: ");
for (String s: Settings.botops) {
event.getBot().reply(event, " - " + s);
}
event.getBot().reply(event, "Total: " + Settings.botops.size() + " items");
return "true";
}
示例13: randomizeList
import org.pircbotx.hooks.Event; //导入依赖的package包/类
public String randomizeList(Event<SlyBot> event, String[] params) {
Random r = new Random();
String result = params[r.nextInt(params.length -1) + 1];
User user = null;
if (event instanceof MessageEvent) user = ((MessageEvent) event).getUser();
if (event instanceof PrivateMessageEvent) user = ((PrivateMessageEvent) event).getUser();
event.getBot().reply(event, user.getNick() + " rolls a very special dice.. It shows \"" + result + "\"");
return result;
}
示例14: run
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public String run(String[] parameters, Event<SlyBot> event) {
Channel channel = null;
User user = null;
if (event instanceof MessageEvent) {
user = ((MessageEvent) event).getUser();
channel = ((MessageEvent) event).getChannel();
}
if (parameters.length > 1) {
if (parameters[1].equals("-s")) {
//Check for botOP NOTE: this is not channel-op
if (event.getBot().isBotOP(user)) {
event.getBot().reply(event, "SlyBot is shutting down.");
//Shutdown the bot
event.getBot().shutdown();
} else {
event.getBot().reply(event, "You may not turn off the bot, sorry.");
return "true";
}
} else {
for (Channel c: event.getBot().getUserBot().getChannels()) {
if (c.getName().equalsIgnoreCase(parameters[1])) channel = c;
}
}
}
if (channel == null) {
Main.getBot().reply(event, "Could not leave channel: Not Found");
return "false";
}
System.out.println("Leaving channel: " + channel.getName());
//Else leave the channel
channel.send().part("Told by operator to leave");
return "true";
}
示例15: run
import org.pircbotx.hooks.Event; //导入依赖的package包/类
@Override
public String run(String[] parameters, Event<SlyBot> event) {
Calendar calendar = Calendar.getInstance();
int skip = 1;
if (parameters[1].matches("-\\w+")) {
String tZone = parameters[1].substring(1);
//Get the specified timezone
TimeZone timeZone = TimeZone.getTimeZone(tZone);
calendar = Calendar.getInstance(timeZone);
skip = 2;
}
String[] newParams = new String[parameters.length - skip];
System.arraycopy(parameters, skip, newParams, 0, newParams.length);
String format = StringUtils.join(newParams, " ");
//Replace patterns containing patterns first
for (Pattern p: new Pattern[] { parentPattern, pattern }) {
Matcher matcher = p.matcher(format);
StringBuffer buffer = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(buffer, getReplaceMent(matcher, calendar));
}
matcher.appendTail(buffer);
format = buffer.toString();
}
event.getBot().reply(event, format);
return format;
}