заставить бот Telegram отвечать только каждые X секунд - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь написать Telegram BOT на Java

Все работает и работает, но проблема в том, что BOT отвечает на каждое прочитанное сообщение, поэтому я хочу, чтобы оно "ждали" Xво-вторых, из сообщения, которое он должен отправить другому, чтобы предотвратить генерацию слишком большого количества спама в группах, в которых он находится.

Я пытался использовать семафор и Thread.sleep, но каждый раз, когда он просыпается, требуетсясообщение из стека полученных вместо ожидания новых.

private boolean stop = false;

@Override
public void onUpdateReceived(Update update) {

       [....]

        stop = true;

        try {
            Thread.sleep(7000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        stop = false;
    }
}

public void onUpdatesReceived(List<Update> updates) {
    if(!stop) {
        stop = true;
        for (Update update : updates) {
            onUpdateReceived(update);
        }
    }
}
...