|
8 | 8 | import org.togetherjava.tjbot.commands.SlashCommandVisibility; |
9 | 9 | import org.togetherjava.tjbot.commands.utils.MessageUtils; |
10 | 10 |
|
| 11 | +import java.util.ArrayList; |
11 | 12 | import java.util.List; |
12 | 13 | import java.util.Objects; |
| 14 | +import java.util.logging.Level; |
| 15 | +import java.util.logging.Logger; |
| 16 | +import java.util.stream.Collectors; |
13 | 17 |
|
14 | 18 | /** |
15 | 19 | * Implements the {@code /tags} command which lets the bot respond with all available tags. |
@@ -42,11 +46,22 @@ public TagsCommand(TagSystem tagSystem) { |
42 | 46 | @Override |
43 | 47 | public void onSlashCommand(@NotNull SlashCommandEvent event) { |
44 | 48 | // TODO A list might be better than comma separated, which is hard to read |
45 | | - event.replyEmbeds(MessageUtils.generateEmbed("All available tags", |
46 | | - String.join(", ", tagSystem.getAllIds()), event.getUser(), TagSystem.AMBIENT_COLOR)) |
47 | | - .addActionRow( |
48 | | - TagSystem.createDeleteButton(generateComponentId(event.getUser().getId()))) |
49 | | - .queue(); |
| 49 | + |
| 50 | + ArrayList<String> list = new ArrayList<>(tagSystem.getAllIds()); |
| 51 | + if (list.size() > 200) { |
| 52 | + Logger logger = Logger.getLogger(TagsCommand.class.getName()); |
| 53 | + logger.setLevel(Level.WARNING); |
| 54 | + logger.warning("- WARNING - TAGS ARE BEYOND 200 LINES "); |
| 55 | + } |
| 56 | + |
| 57 | + event |
| 58 | + .replyEmbeds(MessageUtils.generateEmbed("All available tags", |
| 59 | + "* " + String.join("\n ", |
| 60 | + list.stream().sorted().collect(Collectors.joining("\n * "))), |
| 61 | + event.getUser(), TagSystem.AMBIENT_COLOR)) |
| 62 | + .addActionRow( |
| 63 | + TagSystem.createDeleteButton(generateComponentId(event.getUser().getId()))) |
| 64 | + .queue(); |
50 | 65 | } |
51 | 66 |
|
52 | 67 | @Override |
|
0 commit comments