Created
July 3, 2018 19:40
-
-
Save TheGlitch76/9604b57986385041cb2256e6b0b3811b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package io.github.theglitch76.glitchbot.listener; | |
import net.dv8tion.jda.core.EmbedBuilder; | |
import net.dv8tion.jda.core.entities.Message; | |
import net.dv8tion.jda.core.entities.TextChannel; | |
import net.dv8tion.jda.core.entities.User; | |
import net.dv8tion.jda.core.events.message.guild.react.GuildMessageReactionAddEvent; | |
import net.dv8tion.jda.core.hooks.ListenerAdapter; | |
import java.io.FileInputStream; | |
import java.io.IOException; | |
import java.time.Instant; | |
import java.util.Properties; | |
import java.util.concurrent.TimeUnit; | |
/** | |
* @author TheGlitch76 | |
*/ | |
public class StarboardListener extends ListenerAdapter { | |
private long last = 0; | |
@Override | |
public void onGuildMessageReactionAdd(GuildMessageReactionAddEvent event) { | |
if(event.getReactionEmote().getName().equals("⭐") || event.getReactionEmote().getName().equals("\uD83C\uDF1F") /*Exploding star*/ | |
|| event.getReactionEmote().getName().equals("\uD83D\uDCAF")) { | |
Properties data = new Properties(); | |
Message message = event.getChannel().getMessageById(event.getMessageId()).complete(); | |
try { | |
data.load(new FileInputStream("data.dat")); | |
} catch (IOException e) { | |
//File doesn't exist/there was an error, no point in trying to process everything else | |
e.printStackTrace(); | |
message.addReaction("\uD83C\uDDFD").complete(); | |
message.clearReactions().queueAfter(3, TimeUnit.SECONDS); | |
return; | |
} | |
if(Instant.now().getEpochSecond() > last + 300) { | |
last = Instant.now().getEpochSecond(); | |
User user = message.getAuthor(); | |
if(data.getProperty("pP11kFs9") == null) { | |
message.addReaction("\uD83C\uDDFD").complete(); | |
message.clearReactions().queueAfter(3, TimeUnit.SECONDS); | |
return; | |
} | |
TextChannel targetChannel = event.getJDA().getTextChannelById(data.getProperty("pP11kFs9")); | |
if(targetChannel == null) { | |
message.addReaction("\uD83C\uDDFD").complete(); | |
message.clearReactions().queueAfter(3, TimeUnit.SECONDS); | |
} else { | |
EmbedBuilder builder = new EmbedBuilder(); | |
builder.setTitle(user.getName()); | |
builder.setAuthor("\uD83C\uDF1F"); | |
builder.setDescription(message.getContentDisplay()); | |
builder.setFooter("#" + event.getChannel().getName(), user.getAvatarUrl()); | |
targetChannel.sendMessage(builder.build()).complete(); | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment