Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public void onMessageReceived(MessageReceivedEvent event) {
- JDA jda = event.getJDA();
- if (event.getAuthor().isBot() || event.getMessage().getContentRaw().equals("") || !event.getChannel().getName().equals("input")) {
- return;
- } else {
- String rawMessage, newMessage, nickname, nameHashString, timeString, diceString, dices[], diceStringFinale, theme;
- rawMessage = event.getMessage().getContentRaw();
- //Никнейм %123%
- try {
- FileWriter writer = new FileWriter("output", true);
- if (rawMessage.startsWith("!copyclear") && event.getMessage().getAuthor().getName().equals("Fizzy")) {
- List<TextChannel> channelsList = jda.getTextChannelsByName("input", true);
- for (int i = 0; i < channelsList.size(); i++) {
- List<Message> messageList = channelsList.get(i).getHistory().getRetrievedHistory();
- for (int j = 0; j < messageList.size(); j++) {
- if (j == 0) {
- writer.append(messageList.get(j).getContentRaw());
- }
- messageList.get(j).delete().queue();
- }
- }
- }
- } catch (IOException e) {
- }
- Pattern pattern = Pattern.compile("%[^%1234567890]{1,30}%");
- Matcher matcher = pattern.matcher(rawMessage);
- if (matcher.find()) {
- nickname = rawMessage.substring(matcher.start() + 1, matcher.end() - 1);
- rawMessage = matcher.replaceFirst("");
- //Integer nameHash = event.getAuthor().hashCode() * nickname.hashCode();
- //nameHash = Integer.signum(nameHash) * nameHash;
- //nameHashString = nameHash.toString();
- newMessage = /*"**" + */nickname/* + "**"*//* + "*" + nameHashString + "*"*/;
- } else {
- newMessage = "Pony";
- Pattern cheaterPattern = Pattern.compile("[1-9][0-9]?d[1-9][0-9]{0,3}[ ]+[(][1-9][0-9]{0,3}[)][ ]+[=][ ]+[1-9][0-9]{0,3}");
- Matcher cheaterMatcher = cheaterPattern.matcher(rawMessage);
- if (cheaterMatcher.find()) {
- newMessage = "*Cheater*";
- }
- }
- if (rawMessage.equals("")) {
- return;
- }
- //Дата и время
- LocalDateTime currentDate = LocalDateTime.now();
- //Date currentDate = new Date();
- timeString = String.format("%02d.%02d.%02d %02d:%02d:%02d", currentDate.getDayOfMonth(), currentDate.getMonth().getValue(), (currentDate.getYear() % 100), currentDate.getHour(), currentDate.getMinute(), currentDate.getSecond());
- //timeString = currentDate.getDayOfMonth() + "." + currentDate.getMonth().getValue() + "." + (currentDate.getYear() % 100);
- //timeString += " " + currentDate.getHour() + ":" + currentDate.getMinute() + ":" + currentDate.getSecond();
- newMessage += " " + timeString;
- long id = 0;
- try {
- ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("boardId.out"));
- BoardId boardId = (BoardId) objectInputStream.readObject();
- objectInputStream.close();
- String idString = boardId.toString();
- id = boardId.getId();
- newMessage = newMessage + " No. " + idString + " ";
- boardId.setId(1 + boardId.getId());
- ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("boardId.out"));
- objectOutputStream.writeObject(boardId);
- objectOutputStream.close();
- } catch (Exception ex) {
- //sorry.
- }
- Pattern dice = Pattern.compile("##[1-9][0-9]?d[1-9][0-9]{0,3}##");
- Matcher diceMatcher = dice.matcher(rawMessage);
- int sum;
- while (diceMatcher.find()) {
- diceString = rawMessage.substring(diceMatcher.start() + 2, diceMatcher.end() - 2);
- if (diceString.contains("d")) {
- diceStringFinale = diceString + " (";
- dices = diceString.split("d");
- sum = 0;
- for (int i = 0; i < Integer.parseInt(dices[0]); i++) {
- Random r = new Random();
- int rand = r.nextInt(Integer.parseInt(dices[1]) - 1) + 1;
- diceStringFinale += rand;
- sum += rand;
- if (i < Integer.parseInt(dices[0]) - 1) {
- diceStringFinale += "+";
- }
- }
- diceStringFinale += ") = " + sum;
- rawMessage = diceMatcher.replaceFirst(diceStringFinale);
- diceMatcher = dice.matcher(rawMessage);
- }
- }
- //Send message
- List<TextChannel> inputList = jda.getTextChannelsByName("input", true);
- String regex;
- regex = "https?:/(/[^/]+)+\\.(?:jpg|gif|png)";
- //String regex = "\\b(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|](?:jpg|gif|png)";
- Pattern url = Pattern.compile(regex);
- Matcher urlMatcher = url.matcher(rawMessage);
- MessageBuilder newMsg = new MessageBuilder();
- if(urlMatcher.find()) {
- String urlString = rawMessage.substring(urlMatcher.start(), urlMatcher.end());
- rawMessage = urlMatcher.replaceFirst("");
- EmbedBuilder embedBuilder = new EmbedBuilder();
- embedBuilder.setTitle("Embed", urlString);
- embedBuilder.setImage(urlString);
- newMsg.setEmbed(embedBuilder.build());
- }
- try{
- MessageFile messageFile = new MessageFile(newMessage);
- ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("Message" + id));
- objectOutputStream.writeObject(messageFile);
- objectOutputStream.close();
- }
- catch (Exception ex)
- {
- //Грустно
- }
- newMessage += "\n" + rawMessage;
- newMessage = "```" + newMessage + "```";//Не работает разметка текста.
- //newMessage = newMessage + "\n-----";//К Дискоррду разметку текста!
- newMsg.setContent(newMessage);
- for (int j = 0; j < inputList.size(); j++) {
- /*Pattern linkToMessagePattern = Pattern.compile(">[0-9]+");
- Matcher linkToMessageMatcher = linkToMessagePattern.matcher(rawMessage);
- while (linkToMessageMatcher.find()) {
- String id = rawMessage.substring(linkToMessageMatcher.start() + 1, linkToMessageMatcher.end());
- for (int i = 0; i < inputList.get(j).getHistoryBefore(event.getMessageId(), 50).complete().getRetrievedHistory().size(); i++) {
- String search = inputList.get(j).getHistoryBefore(event.getMessageId(), 50).complete().getRetrievedHistory().get(i).getContentRaw();
- Pattern idPattern = Pattern.compile("[0-9]+");
- Matcher idMatcher = idPattern.matcher(search);
- if (idMatcher.find()) {
- String idTest = search.substring(idMatcher.start(), idMatcher.end());
- if (idTest.equals(id)) {
- EmbedBuilder linkToMessageEmbed = new EmbedBuilder();
- linkToMessageEmbed.setTitle(id, "https://discordapp.com/channels/485056323936059392/" + inputList.get(j).getId() + "/" + jda.getTextChannelById("123").getHistoryBefore(event.getMessageId(), 50).complete().getRetrievedHistory().get(i).getId());
- newMsg.setEmbed(linkToMessageEmbed.build());
- break;
- }
- }
- }
- }*/
- jda.getTextChannelById(inputList.get(j).getId()).sendMessage(newMsg.build()).queue();
- }
- jda.getTextChannelsByName("output", true).get(0).sendMessage(newMsg.build()).queue();
- event.getMessage().delete().queue();
- }
- }
- @Override
- public void onGuildMemberJoin(@Nonnull GuildMemberJoinEvent event) {
- event.getGuild().createTextChannel("input").setParent(event.getGuild().getCategoriesByName("rpg", true).get(0)).addPermissionOverride(event.getMember(), Collections.singleton(Permission.MESSAGE_READ), null).addPermissionOverride(event.getGuild().getPublicRole(), null, Collections.singleton(Permission.MESSAGE_READ)).queue();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement