use of io.discloader.discloader.network.json.ReactionJSON in project DiscLoader by R3alCl0ud.
the class ReactionRemove method handle.
public void handle(SocketPacket packet) {
ReactionJSON data = gson.fromJson(gson.toJson(packet.d), ReactionJSON.class);
IUser user = EntityRegistry.getUserByID(data.user_id);
ITextChannel channel = EntityRegistry.getTextChannelByID(data.channel_id);
if (channel == null)
channel = EntityRegistry.getPrivateChannelByID(data.channel_id);
if (channel == null)
return;
IMessage message = channel.getMessage(data.message_id);
if (message == null || user == null)
return;
IReaction reaction = new Reaction(data, message);
for (IReaction r : message.getReactions()) {
if (r.getEmoji().toString().equals(reaction.toString()))
reaction = r;
}
message.getReactions().remove(reaction);
loader.emit(new MessageReactionRemoveEvent(message, reaction, user));
}
use of io.discloader.discloader.network.json.ReactionJSON in project DiscLoader by R3alCl0ud.
the class Message method setup.
@Override
public void setup(MessageJSON data) {
mentions = new Mentions(this, data.mentions, data.mention_roles, data.mention_everyone);
timestamp = data.timestamp;
edited_timestamp = data.edited_timestamp;
tts = data.tts;
content = data.content;
nonce = data.nonce;
if (data.embeds != null) {
for (EmbedJSON em : data.embeds) {
embeds.add(new MessageEmbed(em));
}
}
type = data.type;
if (data.reactions != null) {
for (ReactionJSON r : data.reactions) {
reactions.add(new Reaction(r, this));
}
}
if (data.activity != null) {
activity = new MessageActivity(data.activity);
}
if (data.application != null) {
application = new MessageApplication(data.application);
}
}
use of io.discloader.discloader.network.json.ReactionJSON in project DiscLoader by R3alCl0ud.
the class ReactionAdd method handle.
public void handle(SocketPacket packet) {
ReactionJSON data = gson.fromJson(gson.toJson(packet.d), ReactionJSON.class);
IUser user = EntityRegistry.getUserByID(data.user_id);
ITextChannel channel = EntityRegistry.getTextChannelByID(data.channel_id);
if (channel == null)
channel = EntityRegistry.getPrivateChannelByID(data.channel_id);
if (channel == null)
return;
IMessage message = channel.getMessage(data.message_id);
if (message == null || user == null)
return;
IReaction reaction = new Reaction(data, message);
message.getReactions().add(reaction);
loader.emit(new MessageReactionAddEvent(message, reaction, user));
}
Aggregations