aboutsummaryrefslogtreecommitdiff
path: root/juick-server
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2018-03-21 14:12:16 +0300
committerGravatar Vitaly Takmazov2018-03-21 14:12:16 +0300
commitcfa0a72e2822817b5d8fc45e673ca3d40f214572 (patch)
treec9626fef5d57daf95ec6e51bd389b98d732c57a8 /juick-server
parent403fab0c39e99ffd0b386eb612f3574938ae2125 (diff)
xmpp: feed command
Diffstat (limited to 'juick-server')
-rw-r--r--juick-server/src/main/java/com/juick/server/XMPPBot.java10
-rw-r--r--juick-server/src/test/java/com/juick/server/tests/ServerTests.java2
2 files changed, 11 insertions, 1 deletions
diff --git a/juick-server/src/main/java/com/juick/server/XMPPBot.java b/juick-server/src/main/java/com/juick/server/XMPPBot.java
index 9b6b5fe4..b8789276 100644
--- a/juick-server/src/main/java/com/juick/server/XMPPBot.java
+++ b/juick-server/src/main/java/com/juick/server/XMPPBot.java
@@ -689,6 +689,16 @@ public class XMPPBot implements StanzaListener, AutoCloseable {
public String commandSearchAll(User user, Jid from, String... args) {
return "Temporarily unavailable";
}
+ @UserCommand(pattern = "^(#+)$", help = "# - Show last messages from your feed (## - second page, ...)")
+ public String commandMyFeed(User user, String... arguments) {
+ // number of # is the page count
+ int page = arguments[0].length() - 1;
+ List<Integer> mids = messagesService.getMyFeed(user.getUid(), page, false);
+ if (mids.size() > 0) {
+ return "Your feed: \n" + printMessages(mids, true);
+ }
+ return "Your feed is empty";
+ }
void sendReply(Jid jidTo, String txt) {
Message reply = new Message();
diff --git a/juick-server/src/test/java/com/juick/server/tests/ServerTests.java b/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
index dac0be22..1d76ca42 100644
--- a/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
+++ b/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
@@ -371,7 +371,7 @@ public class ServerTests extends AbstractJUnit4SpringContextTests {
public void botCommandsTests() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
assertThat(bot.processCommand(new User(), Jid.of("test@localhost"), "PING").get(), is("PONG"));
// subscription commands have two lines, others have 1
- assertThat(bot.processCommand(new User(), Jid.of("test@localhost"), "help").get().split("\n").length, is(28));
+ assertThat(bot.processCommand(new User(), Jid.of("test@localhost"), "help").get().split("\n").length, is(29));
}
@Test