33import java .text .MessageFormat ;
44import java .util .List ;
55import java .util .UUID ;
6+ import java .util .logging .Level ;
67import org .bukkit .Bukkit ;
78import org .bukkit .ChatColor ;
89import org .bukkit .command .Command ;
1718import org .bukkit .event .player .PlayerJoinEvent ;
1819import org .bukkit .event .player .PlayerQuitEvent ;
1920import org .bukkit .plugin .java .JavaPlugin ;
21+ import org .circuitsoft .slack .api .BukkitPoster ;
22+ import org .json .simple .JSONObject ;
2023
2124public class SlackBukkit extends JavaPlugin implements Listener {
2225
@@ -42,38 +45,38 @@ public void onDisable() {
4245
4346 @ EventHandler (priority = EventPriority .MONITOR )
4447 public void onChat (AsyncPlayerChatEvent event ) {
45- if (isVisible ("slack.hide.chat" , event .getPlayer ())) {
46- send ('"' + event .getMessage () + '"' , event .getPlayer (). getName () );
48+ if (isVisible ("slack.hide.chat" , event .getPlayer (). getUniqueId () )) {
49+ send (event .getMessage (), event .getPlayer (), false );
4750 }
4851 }
4952
5053 @ EventHandler (priority = EventPriority .MONITOR )
5154 public void onLogin (PlayerJoinEvent event ) {
5255 if (isVisible ("slack.hide.login" , event .getPlayer ().getUniqueId ())) {
53- send ("logged in " , event .getPlayer (). getName () );
56+ send ("_joined_ " , event .getPlayer (), true );
5457 }
5558 }
5659
5760 @ EventHandler (priority = EventPriority .MONITOR )
5861 public void onQuit (PlayerQuitEvent event ) {
59- if (isVisible ("slack.hide.logout" , event .getPlayer ())) {
60- send ("logged out " , event .getPlayer (). getName () );
62+ if (isVisible ("slack.hide.logout" , event .getPlayer (). getUniqueId () )) {
63+ send ("_quit_ " , event .getPlayer (), true );
6164 }
6265 }
6366
6467 @ EventHandler (priority = EventPriority .MONITOR )
6568 public void onCommand (PlayerCommandPreprocessEvent event ) {
66- if (isAllowed (event .getMessage ()) && isVisible ("slack.hide.command" , event .getPlayer ()) && !event .getMessage ().contains ("/slack send" )) {
67- send (event .getMessage (), event .getPlayer ().getName ());
69+ if (!getConfig ().getBoolean ("send-commands" )) {
70+ return ;
71+ }
72+ String command = event .getMessage ().split (" " )[0 ];
73+ if (isAllowed (command ) && isVisible ("slack.hide.command" , event .getPlayer ().getUniqueId ()) && !event .getMessage ().contains ("/slack send" )) {
74+ send (event .getMessage (), event .getPlayer (), false );
6875 }
6976 }
70-
71- public void send (String message , String name ) {
72- new SlackBukkitPoster (this , message , name , null ).runTaskAsynchronously (this );
73- }
74-
75- public void send (String message , String name , String iconUrl ) {
76- new SlackBukkitPoster (this , message , name , iconUrl ).runTaskAsynchronously (this );
77+
78+ private void send (String message , Player player , boolean useMarkdown ) {
79+ new BukkitPoster (message , player , useMarkdown ).runTaskAsynchronously (this );
7780 }
7881
7982 private boolean isAllowed (String command ) {
@@ -90,18 +93,10 @@ private void updateConfig(String version) {
9093 getConfig ().set ("version" , version );
9194 saveConfig ();
9295 }
93-
94- private boolean isVisible (String permission , Player player ) {
95- if (getConfig ().getBoolean ("use-perms" )) {
96- return !player .hasPermission (permission );
97- } else {
98- return true ;
99- }
100- }
10196
10297 private boolean isVisible (String permission , UUID uuid ) {
10398 if (getConfig ().getBoolean ("use-perms" )) {
104- return !Bukkit . getServer ().getPlayer (uuid ).hasPermission (permission );
99+ return !getServer ().getPlayer (uuid ).hasPermission (permission );
105100 } else {
106101 return true ;
107102 }
@@ -150,13 +145,17 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
150145 senderName = sender .getName ();
151146 }
152147 sb .append (MessageFormat .format (" (sent by {0})" , senderName ));
153- send (sb .toString (), args [1 ], args [2 ].equalsIgnoreCase ("null" ) ? null : args [2 ]);
148+ if (args [2 ].equalsIgnoreCase ("null" )) {
149+ new BukkitPoster (sb .toString (), args [1 ], "https://cravatar.eu/helmhead/" + getServer ().getPlayer (args [1 ]).getUniqueId () + "/128.png" , false ).runTaskAsynchronously (this );
150+ } else {
151+ new BukkitPoster (sb .toString (), args [1 ], args [2 ], false ).runTaskAsynchronously (this );
152+ }
154153 }
155154 } else {
156155 sender .sendMessage (ChatColor .DARK_RED + "You are not allowed to execute this command!" );
157156 }
158157 } else {
159- sender .sendMessage (ChatColor .GOLD + "/slack send <username> <image URL or null for username's skin> <message> - send a custom message to slack \n /slack reload - reload Slack's config" );
158+ sender .sendMessage (ChatColor .GOLD + "/slack send <username> <image URL or null for username's skin> <message> - send a custom message to slack\n /slack reload - reload Slack's config" );
160159 }
161160 return true ;
162161 }
0 commit comments