Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.ryozuki.helperbot;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.PluginManager;
- import com.palmergames.bukkit.TownyChat.Chat;
- import com.palmergames.bukkit.TownyChat.channels.Channel;
- import com.palmergames.bukkit.TownyChat.channels.channelTypes;
- import com.palmergames.bukkit.TownyChat.events.AsyncChatHookEvent;
- import java.io.IOException;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class ChatListener implements Listener {
- Main plugin = null;
- PluginManager pm;
- Chat chat;
- public ChatListener(Main plugin) {
- this.plugin = plugin;
- pm = Bukkit.getPluginManager();
- chat = (Chat) pm.getPlugin("TownyChat");
- }
- @EventHandler
- public void onPlayerChat(AsyncChatHookEvent event) throws IOException{
- long currTime = System.currentTimeMillis() % 10000000;
- long lastUsed = plugin.getLastUsed() % 10000000;
- event.getPlayer().sendMessage(event.getMessage());
- event.getPlayer().sendMessage("timeused " + currTime + " " + lastUsed);
- event.getPlayer().sendMessage("cooldown " + (plugin.getCooldown()));
- if(!event.getPlayer().hasPermission("helperbot.answer"))
- return;
- if(event.getChannel().getName().equalsIgnoreCase("mod") ||
- event.getChannel().getName().equalsIgnoreCase("local") ||
- event.getChannel().getName().equalsIgnoreCase("town") ||
- event.getChannel().getName().equalsIgnoreCase("nation") ||
- event.getChannel().getName().equalsIgnoreCase("admin"))
- return;
- if(event.isCancelled())
- return;
- if(currTime - lastUsed < plugin.getCooldown() * 1000)
- return;
- if(event.getMessage().startsWith("/"))
- return;
- if(event.getChannel().getName().equalsIgnoreCase("general"))
- plugin.setLastUsed(System.currentTimeMillis());
- String msg = event.getMessage();
- boolean ignore = plugin.getIgnore();
- plugin.ReadQA().forEach((x, y) -> {
- Pattern pattern = Pattern.compile(x.toLowerCase(), Pattern.MULTILINE);
- Matcher matcher = pattern.matcher(ignore ? msg.toLowerCase().replace("?", "") : msg.toLowerCase());
- if(matcher.find()) {
- Bukkit.getScheduler().scheduleSyncDelayedTask(plugin,
- () -> plugin.getServer().broadcastMessage( ChatColor.translateAlternateColorCodes('&',
- plugin.getColor() + plugin.getBotName() + y.toString())),
- 10L);
- return;
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement