Skip to content

Commit edf8a16

Browse files
committed
Added DecideCommand.
1 parent cbe56db commit edf8a16

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

src/bitbot/BitBot.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.File;
44
import java.io.IOException;
55

6+
import bitbot.commands.DecideCommand;
67
import bitbot.commands.GreetCommand;
78

89

@@ -26,6 +27,7 @@ public BitBot(BotConfig config) {
2627
this.config = config;
2728
MessageHandler messageHandler = new MessageHandler(config.getCommandPrefix());
2829
messageHandler.addCommand(new GreetCommand());
30+
messageHandler.addCommand(new DecideCommand());
2931
server = new ChatServer(config.getChatServerConfig(), messageHandler);
3032
}
3133

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package bitbot.commands;
2+
3+
import java.util.Random;
4+
5+
import bitbot.Command;
6+
import bitbot.Replier;
7+
import bitbot.User;
8+
9+
10+
public class DecideCommand extends Command {
11+
12+
private Random rnd = new Random();
13+
14+
public DecideCommand() {
15+
super("välj");
16+
}
17+
18+
@Override
19+
public void execute(String command, String args, User user, boolean pm, Replier replier) {
20+
String[] val = args.split("eller", 2);
21+
if (val.length == 2) {
22+
String str = val[rnd.nextInt(2)].trim();
23+
if (str.endsWith("?")) {
24+
str = str.substring(0, str.length()-1);
25+
}
26+
replier.reply(str);
27+
} else {
28+
replier.reply(rnd.nextBoolean() ? "Ja!" : "Nej!");
29+
}
30+
}
31+
32+
@Override
33+
public String getArgumentTemplate() {
34+
return "<alternativ1>[ eller <alternativ2>][?]";
35+
}
36+
37+
@Override
38+
public String getDescription() {
39+
return "Ta ett beslut";
40+
}
41+
42+
@Override
43+
public String getHelpText() {
44+
return ("Med bara ett alternativ blir svaret ja eller nej.\n" +
45+
"Med två alternativ väljs ett av dem.");
46+
}
47+
}

0 commit comments

Comments
 (0)