Merge pull request #112 from dartwata/patch-1

Message filter for TelegramLongPollingCommandBot
This commit is contained in:
Ruben Bermudez 2016-07-13 20:16:39 +02:00 committed by GitHub
commit df0d597586

View File

@ -32,7 +32,7 @@ public abstract class TelegramLongPollingCommandBot extends TelegramLongPollingB
public final void onUpdateReceived(Update update) { public final void onUpdateReceived(Update update) {
if (update.hasMessage()) { if (update.hasMessage()) {
Message message = update.getMessage(); Message message = update.getMessage();
if (message.isCommand()) { if ((message.isCommand()) && (filter(message))) {
if (commandRegistry.executeCommand(this, message)) { if (commandRegistry.executeCommand(this, message)) {
return; return;
} }
@ -41,6 +41,19 @@ public abstract class TelegramLongPollingCommandBot extends TelegramLongPollingB
processNonCommandUpdate(update); 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 @Override
public final boolean register(BotCommand botCommand) { public final boolean register(BotCommand botCommand) {
return commandRegistry.register(botCommand); return commandRegistry.register(botCommand);