From 13e45139f416af94064ea259ada49d20dd9e2daa Mon Sep 17 00:00:00 2001 From: dartwata Date: Wed, 13 Jul 2016 16:39:51 +0800 Subject: [PATCH] Message filter for TelegramLongPollingCommandBot --- .../bots/TelegramLongPollingCommandBot.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/telegram/telegrambots/bots/TelegramLongPollingCommandBot.java b/src/main/java/org/telegram/telegrambots/bots/TelegramLongPollingCommandBot.java index f9f8091f..d9c81d35 100644 --- a/src/main/java/org/telegram/telegrambots/bots/TelegramLongPollingCommandBot.java +++ b/src/main/java/org/telegram/telegrambots/bots/TelegramLongPollingCommandBot.java @@ -32,7 +32,7 @@ public abstract class TelegramLongPollingCommandBot extends TelegramLongPollingB public final void onUpdateReceived(Update update) { if (update.hasMessage()) { Message message = update.getMessage(); - if (message.isCommand()) { + if ((message.isCommand()) && (filter(message))) { if (commandRegistry.executeCommand(this, message)) { return; } @@ -41,6 +41,19 @@ public abstract class TelegramLongPollingCommandBot extends TelegramLongPollingB processNonCommandUpdate(update); } + /** + * function message filter. + * Override this function in your bot implementation to filter messages with commands + * + * For example, if you want to prevent commands execution incoming from group chat: + * # + * # return !message.getChat().isGroupChat(); + * # + */ + protected boolean filter(Message message) { + return true; + } + @Override public final boolean register(BotCommand botCommand) { return commandRegistry.register(botCommand);