cutthecord/resources/patches/slashcommands/code/src/main/java/com/cutthecord/commands/commands/CmdEmojify.java

45 lines
1.1 KiB
Java

package com.cutthecord.commands.commands;
import com.cutthecord.commands.RawMsgHandler;
public class CmdEmojify implements RawMsgHandler {
@Override
public String processRawMessage(String msg) {
StringBuilder s = new StringBuilder();
for (char c : msg.toCharArray()) {
s.append(emojifyChar(c));
}
return s.toString();
}
final String[] numbers = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
public String emojifyChar(char c) {
if (Character.isDigit(c)) {
int i = Integer.parseInt(Character.toString(c));
return ":" + numbers[i] + ":";
}
if (Character.isAlphabetic(c)) {
if (c == 'b') {
return ":b:";
}
return ":regional_indicator_" + String.valueOf(c).toLowerCase() + ":";
}
switch (c) {
case '.': return ":record_button";
case '?': return ":grey_question:";
case '!': return ":grey_exclamation:";
}
return Character.toString(c);
}
}