@Override public String getAsMention() { return nickname == null ? user.getAsMention() : "<@!" + user.getIdLong() + '>'; }
@Override public String toString() { String ret = "A 2048 game, score as high as you can!\n"; ret += getPlayer(0).getAsMention() + "'s game\n"; ret += "Score: " + grid.getScore() + " \n\n"; String format = "`| %4s | %4s | %4s | %4s`\n"; for (int i = 0; i < GRID_SIZE; i++) { ret += String.format(format, (Object[]) grid.board[i]); } return ret; } }
private String stringifyUser(User user) { if (user == null) { return ""; } return user.getName() + "#" + user.getDiscriminator() + " (" + user.getAsMention() + ")"; } }
private String getBlacklistedUsers(GuildWrapper wrapper) { if (wrapper.getSettings().getChannelBlacklist().isEmpty()) return "No blacklisted users!"; return wrapper.getSettings().getUserBlacklist().stream().map(userId -> { Member mber = wrapper.getGuild().getMemberById(userId); if (mber == null) { wrapper.getSettings().getUserBlacklist().remove(userId); return String.valueOf(userId); } return mber.getUser().getAsMention(); }).collect(Collectors.joining(", ")); } }
private String parseTag(Guild guild, String tag, String message, User user, TextChannel channel, String[] args) { String parsed = VariableUtils.parseVariables(message, FlareBotManager.instance().getGuild(guild.getId()), channel, user, args); if (message.contains("%user%") || message.contains("%mention%") || message.contains("{%}") || message.contains("%prefix%") || message.contains("%tag%")) { MessageUtils.sendPM(guild.getOwner().getUser(), "Your tag '" + tag + "' contains deprecated variables! Please check the docs at the link below " + "for a list of all the variables you can use!\n" + "https://docs.flarebot.stream/variables"); } // Deprecated values parsed = parsed .replace("%user%", user.getName()) .replace("%mention%", user.getAsMention()) .replace("{%}", String.valueOf(getPrefix(guild))) .replace("%prefix%", String.valueOf(getPrefix(guild))) .replace("%tag%", tag); return parsed; }
game.append(TileState.X.getEmoticon()).append(" = ").append(getPlayer(0).getName()).append("\n"); game.append(TileState.O.getEmoticon()).append(" = ").append(getPlayer(1).getName()).append("\n"); game.append("It's the turn of ").append(getActivePlayer().getAsMention()).append("\n"); game.append("to play type **").append(getLastPrefix()).append("game <number>**"); game.append("Its over! And its a draw!"); } else { game.append("Its over! The winner is ").append(getPlayer(getWinnerIndex()).getAsMention());
@Override public String toString() { StringBuilder ret = new StringBuilder("A Connect 4 game.\n"); ret.append(board.toString()); for (int i = 0; i < COLS; i++) { if (board.canPlaceInColumn(i)) { ret.append(Misc.numberToEmote(i + 1)); } else { ret.append(Emojibet.NO_ENTRY); } } ret.append("\n\n"); if (getGameState().equals(GameState.IN_PROGRESS) || getGameState().equals(GameState.READY)) { ret.append(board.intToPlayer(0)).append(" = ").append(getPlayer(0).getName()).append("\n"); ret.append(board.intToPlayer(1)).append(" = ").append(getPlayer(1).getName()).append("\n"); ret.append("It's the turn of ").append(getActivePlayer().getAsMention()).append("\n"); ret.append("to play type **").append(getLastPrefix()).append("game <columnnumber>**"); } if (getGameState().equals(GameState.OVER)) { if (getWinnerIndex() == getTotalPlayers()) { ret.append("Its over! And its a draw!"); } else { ret.append("Its over! The winner is ").append(getPlayer(getWinnerIndex()).getAsMention()); } } return ret.toString(); } }
private static String parseUser(User author, String message) { message = StringReplacementUtil.replaceAll(message, ":username", author.getName()); message = StringReplacementUtil.replaceAll(message, ":userid", author.getId()); message = StringReplacementUtil.replaceAll(message, ":user", author.getAsMention()); return message; } }
@Override public String toString() { String ret = "A Game of sticks.\n"; ret += "Take away a few sticks, the player to take away the last stick loses!\n"; ret += "There are currently **" + sticksleft + "** Sticks left\n\n"; if (getGameState().equals(GameState.IN_PROGRESS) || getGameState().equals(GameState.READY)) { ret += "It's the turn of " + getActivePlayer().getAsMention() + "\n"; ret += "to play type **" + getLastPrefix() + "game 1-3**"; } else if (getGameState().equals(GameState.OVER)) { ret += "Its over! The winner is " + getPlayer(getWinnerIndex()).getAsMention(); } return ret; } }
public boolean autoReplied(Message message) { if (message.getChannel() instanceof PrivateChannel) { return false; } if (!(message.getChannel() instanceof TextChannel)) { return false; } TextChannel channel = (TextChannel) message.getChannel(); long guildId = channel.getGuild().getIdLong(); int internalGuildId = CGuild.getCachedId(guildId); Long now = System.currentTimeMillis(); for (int index = 0; index < replies.length; index++) { if (replies[index].guildId == 0 || replies[index].guildId == internalGuildId) { Long lastUse = getCooldown(guildId, index); if (lastUse + replies[index].cooldown < now) { Matcher matcher = replies[index].pattern.matcher(message.getContentRaw()); if (matcher.find()) { saveCooldown(guildId, index, now); bot.out.sendAsyncMessage(channel, message.getAuthor().getAsMention() + ", " + replies[index].reply, null); return true; } } } } return false; }
@Override public boolean onCommand(CommandMessage context, String[] args) { User user = context.getAuthor(); if (args.length > 0) { user = MentionableUtil.getUser(context, new String[]{String.join(" ", args)}); } if (user == null) { return sendErrorMessage(context, "errors.noUsersWithNameOrId", args[0]); } context.makeSuccess(context.i18n("message")) .set("target", user.getAsMention()) .set("targetid", user.getId()) .queue(); return true; } }
public static void logEG(String eg, Command command, Guild guild, User user) { EmbedBuilder builder = new EmbedBuilder().setTitle("Found `" + eg + "`") .addField("Guild", guild.getId() + " (`" + guild.getName() + "`) ", true) .addField("User", user.getAsMention() + " (`" + user.getName() + "#" + user.getDiscriminator() + "`)", true) .setTimestamp(LocalDateTime.now(Clock.systemUTC())); if (command != null) builder.addField("Command", command.getCommand(), true); Constants.getEGLogChannel().sendMessage(builder.build()).queue(); }
private void auditLog(Config config, Context context) { String content = String.format("[%s] tried invoking: `%s`", context.getEvent().getAuthor().getAsMention(), context.getEvent().getMessage().getContentRaw()); WebhookMessage message = new WebhookMessageBuilder() .addEmbeds(new EmbedBuilder() .setColor(Color.RED) .setDescription(content) .setTimestamp(new Date().toInstant()) .build()) .setUsername("admin log") .build(); WebhookClient client = new WebhookClientBuilder(config.auditWebhook) .build(); client.send(message); }
@Override public String execute(DiscordBot bot, String[] args, MessageChannel channel, User author, Message inputMessage) { SimpleRank rank = bot.security.getSimpleRank(author, channel); if (!rank.isAtLeast(SimpleRank.USER)) { return Templates.no_permission.formatGuild(channel); } if (args.length > 1) { User targetUser = DisUtil.findUser((TextChannel) channel, args[0]); if (targetUser != null && !targetUser.getId().equals(channel.getJDA().getSelfUser().getId())) { String message = ""; for (int i = 1; i < args.length; i++) { message += " " + args[i]; } bot.out.sendPrivateMessage(targetUser, "You got a message from " + author.getAsMention() + ": " + message); return Templates.command.pm_success.formatGuild(channel); } else { return Templates.command.pm_cant_find_user.formatGuild(channel); } } return Templates.invalid_use.formatGuild(channel); } }
private boolean handleOfficialGuildStuff(GuildMessageReceivedEvent event, Command command) { Guild guild = event.getGuild(); GuildWrapper wrapper = FlareBotManager.instance().getGuild(guild.getId()); if (event.getChannel().getIdLong() == 226785954537406464L && !event.getMember().hasPermission(Permission.MESSAGE_MANAGE)) { event.getChannel().sendMessage("Heyo " + event.getAuthor().getAsMention() + " please use me in <#226786507065786380>!").queue(); return false; } return true; }
public EmbedBuilder getEventEmbed(User user, User responsible, String reason) { if (user == null && responsible == null) { throw new IllegalArgumentException("User or the responsible user has to be not-null! Event: " + this.getName()); } EmbedBuilder eb = new EmbedBuilder() .setAuthor(WordUtils.capitalize(getTitle()), null, user == null ? responsible.getEffectiveAvatarUrl() : user.getEffectiveAvatarUrl()); if (user != null) eb.addField("User", user.getAsMention() + " | " + MessageUtils.getTag(user), true); eb.setFooter("User ID: " + (user == null ? responsible.getId() : user.getId()), null) .setTimestamp(OffsetDateTime.now(ZoneOffset.UTC)); if (responsible != null) { eb.addField("Responsible", MessageUtils.getTag(responsible), true); } if (showReason) { eb.addField("Reason", (reason == null || reason.isEmpty() ? "No Reason Given!" : reason), true); } eb.setColor(color); // Custom event changes. if (this == ModlogEvent.FLAREBOT_PURGE) eb.setAuthor(user != null ? "User Purge" : "Chat Purge", null, user == null ? responsible.getEffectiveAvatarUrl() : user.getEffectiveAvatarUrl()); return eb; }
@Override public boolean onCommand(CommandMessage context, String[] args) { User user = MentionableUtil.getUser(context, args); if (user == null) { return sendErrorMessage(context, context.i18n("mustMentionUser")); } if (userHasHigherRole(user, context.getMember())) { return sendErrorMessage(context, context.i18n("higherOrSameRole")); } if (!context.getGuild().getSelfMember().canInteract(context.getGuild().getMember(user))) { return sendErrorMessage(context, context.i18n("cantKickUser", user.getAsMention())); } return kickUser(context, context.getGuild().getMember(user), args); }
public void skipTrack(CommandMessage context) { GuildMusicManager musicManager = getGuildAudioPlayer(context.getGuild()); if (musicManager.getScheduler().getAudioTrackContainer() != null) { AudioTrackContainer container = musicManager.getScheduler().getAudioTrackContainer(); context.makeInfo(context.i18nRaw("music.internal.songWasSkipped")) .set("title", container.getAudioTrack().getInfo().title) .set("url", container.getAudioTrack().getInfo().uri) .set("author", container.getRequester().getAsMention()) .queue(success -> success.delete().queueAfter(30, TimeUnit.SECONDS, null, RestActionUtil.ignore)); } musicManager.getScheduler().nextTrack(); }
private boolean banMemberOfServer(AvaIre avaire, Command command, CommandMessage context, User user, String[] args, boolean soft) { if (userHasHigherRole(user, context.getMember())) { return command.sendErrorMessage(context, context.i18n("higherRole")); } if (!context.getGuild().getSelfMember().canInteract(context.getGuild().getMember(user))) { return sendErrorMessage(context, context.i18n("userHaveHigherRole", user.getAsMention())); } String reason = generateReason(args); ModlogAction modlogAction = new ModlogAction( soft ? ModlogType.SOFT_BAN : ModlogType.BAN, context.getAuthor(), user, reason ); String caseId = Modlog.log(avaire, context, modlogAction); Modlog.notifyUser(user, context.getGuild(), modlogAction, caseId); context.getGuild().getController().ban(user, soft ? 0 : 7, String.format("%s - %s#%s (%s)", reason, context.getAuthor().getName(), context.getAuthor().getDiscriminator(), context.getAuthor().getId() )).queue(aVoid -> { context.makeSuccess(context.i18n("success")) .set("target", user.getName() + "#" + user.getDiscriminator()) .set("reason", reason) .queue(); }, throwable -> context.makeWarning(context.i18n("failedToBan")) .set("target", user.getName() + "#" + user.getDiscriminator()) .set("error", throwable.getMessage()) .queue()); return true; }
/** * Sends the "Now Playing" message using the given audio track container reference. * * @param container The audio track container that should be used for the "Now Playing" message. */ protected void sendNowPlaying(AudioTrackContainer container) { NowPlayingEvent nowPlayingEvent = new NowPlayingEvent( manager.getGuild().getJDA(), manager.getGuild(), container ); manager.getAvaire().getEventEmitter().push(nowPlayingEvent); if (manager.getGuildTransformer().isMusicMessages()) { manager.getLastActiveMessage().makeSuccess( manager.getLastActiveMessage().i18nRaw("music.internal.nowPlaying") ) .set("title", nowPlayingEvent.getSongTitle()) .set("link", container.getAudioTrack().getInfo().uri) .set("duration", container.getFormattedDuration()) .set("requester", container.getRequester().getAsMention()) .set("volume", getVolume()) .queue(); } }