Message filter for TelegramLongPollingCommandBot

This commit is contained in:
dartwata 2016-07-13 16:39:51 +08:00 committed by GitHub
parent f9ab74d407
commit 13e45139f4

View File

@ -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);