169 похожих чатов

Есть бот для VK, его могу добавить в беседу и

он должен отслеживать: Если пользователь не писал более N - времени (Указывается в настройках бота), то пользователя кикает и отправляет уведомление в беседу администраторов. Если же он успел опять написать сообщение, то - ничего. Проблема в следующем - я не знаю, где и как хранить эти данные. Предлагали приоритетную очередь, но не подходит под задачу, т.к нужны только уникальные элементы, то есть, если есть уже объект (время кика, время последнего сообщения, id чата, id пользователя), то нужно обновлять, а проходиться по каждому элементу - долго и дорого. Может быть кто-то подскажет, как правильно и с наименьшими затратами по времени это реализовать? Если можно, то с примерами) Спасибо.

2 ответов

19 просмотров

В редисе можно хранить ключом ид юзера, а значением — время последнего сообщения в FIFO очереди Человек написал — кидаешь в начало, каждую секунду, например, проходишь с конца, где лежат те, кто писал давнее всего, и кикаешь нужных

ZDev-🇷🇺 Автор вопроса
Очень полезный Юджин
В редисе можно хранить ключом ид юзера, а значение...

Можно пример реализации? А то с redis не работал. И что такое FIFO?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта