xvitaly / ecasbot

EC AntiSpam bot for the Telegram messenger
GNU General Public License v3.0
31 stars 8 forks source link

Automatically cleanup used bot commands from chat #166

Closed vlab97 closed 1 year ago

vlab97 commented 2 years ago

Feature request

Было бы здорово, если реализуется функция удаления команд с общего чата. То есть автоматическое удаление команд по типу /start, /ban, /mute и прочего. Часто бывает, что в чате остаётся отправленная команда и все пользователи в течении дня ее нажимают.

xvitaly commented 2 years ago

Изначально была функция, когда бот автоматически удалял команду после её использования, но некоторые были недовольны этим, поэтому пришлось её убрать.

В принципе, в виде опции можно добавить.

vlab97 commented 2 years ago

Изначально была функция, когда бот автоматически удалял команду после её использования, но некоторые были недовольны этим, поэтому пришлось её убрать.

В принципе, в виде опции можно добавить.

После использования нет проблем и самому добавить. А вот если пользователь пишет админскую команду не имея админ прав, то бот разумеется уходит в игнорирование.

1 человек отправляет /mute и остальные волной начинают нажимать на нее :)

В данном случае нужна опция, которая через n количество секунд удаляет любые команды. Не зависимо от наличия прав у отправляющего. Это бы решалось, если реализовать черный список слов в отправляемых сообщениях.

xvitaly commented 2 years ago

1 человек отправляет /mute и остальные волной начинают нажимать на нее :)

В нашем чате обычно единицы нажимали и то понимали, что оно не работает и более не предпринимали попыток. Это можно исправить, чтобы например бот сам удалял команды от не-админов.

В данном случае нужна опция, которая через n количество секунд удаляет любые команды. Не зависимо от наличия прав у отправляющего. Это бы решалось, если реализовать черный список слов в отправляемых сообщениях.

Текущий бот полностью асинхронный, т.е. выполняется на всех доступных ядрах процессора в многопоточном режиме. Очень бы не хотелось вводить отдельный синхронизируемый поток с таймером ибо при большом количестве защищаемых чатов приведёт к сильному снижению производительности.

Мы подумаем над быстрой реализацией функции очистки команд.

vlab97 commented 1 year ago

Смотрю, что уже добавлены настройки на доп оповещения. Возможно будет данные настройки переработать по примеру команды /subscribe. Чтоб отдельно каждый админ мог для себя их применять? Речь касаемо оповещений. Так как это более оптимально для использования.

autoclean - automatically cleanup used bot commands in super-groups; restalert - enable or disable alerting the subscribed admins on new restriction events; delalert - enable or disable alerting the subscribed admins on new message deletion events.

Так же проверял автоматическую очистку используемых команд, но команды так же остаются в чате🤔 Да и вроде включение оповещений новых оповещений.

xvitaly commented 1 year ago

Так же проверял автоматическую очистку используемых команд, но команды так же остаются в чатеthinking

Все описанные выше функции реализованы. Просьба протестировать автоматические билды. Если работает нормально, выпустим официальный релиз.

vlab97 commented 1 year ago

Так же проверял автоматическую очистку используемых команд, но команды так же остаются в чатеthinking

Все описанные выше функции реализованы. Просьба протестировать автоматические билды. Если работает нормально, выпустим официальный релиз.

На днях обновлю бота и протестирую. Можно будет в будущем этот функционал сделать опцианальным для каждого чата? Чтоб owner или любые администраторы отдельно для своего чата включать.

vlab97 commented 1 year ago

Так же проверял автоматическую очистку используемых команд, но команды так же остаются в чатеthinking

Все описанные выше функции реализованы. Просьба протестировать автоматические билды. Если работает нормально, выпустим официальный релиз.

Вручную внес все правки в код. Пару дней бот проработал с данными параметрами: "autoclean": true, "restalert": false, "delalert": true Но по факту 2 включенных параметра так и не заработали.

xvitaly commented 1 year ago

Вручную внес все правки в код. Пару дней бот проработал с данными параметрами:

В какой код? Байт-код тоже нужно перекомпилировать в таком случае.

vlab97 commented 1 year ago

Вручную внес все правки в код. Пару дней бот проработал с данными параметрами:

В какой код? Байт-код тоже нужно перекомпилировать в таком случае.

Отредактировал файлы в папке src и заново собрал инсталлятор. Далее установил (windows)

xvitaly commented 1 year ago

Отредактировал файлы в папке src и заново собрал инсталлятор. Далее установил (windows)

Зачем? Есть же автоматические сборки.

vlab97 commented 1 year ago

Отредактировал файлы в папке src и заново собрал инсталлятор. Далее установил (windows)

Зачем? Есть же автоматические сборки.

Привык вручную редактировать🤷‍♂️ Да и раньше не знал про автоматические сборки

xvitaly commented 1 year ago

Привык вручную редактировать

Есть же Git и можно просто скачать репозиторий, переключиться на нужный коммит автоматически. Если не хочется устанавливать Git в систему, то всегда можно скачать репозиторий, ветку, тег или срез коммита в виде архива.

Да и раньше не знал про автоматические сборки

Проверьте автоматическую сборку. Должно работать.

vlab97 commented 1 year ago

Так же проверял автоматическую очистку используемых команд, но команды так же остаются в чатеthinking

Все описанные выше функции реализованы. Просьба протестировать автоматические билды. Если работает нормально, выпустим официальный релиз.

Вручную внес все правки в код. Пару дней бот проработал с данными параметрами: "autoclean": true, "restalert": false, "delalert": true Но по факту 2 включенных параметра так и не заработали.

По итогу поставил авто билд. Сразу проверил работу оповещения об удалении сообщения в двух чатах. Сообщения не пришли. Так же с удалением использованных команд.

xvitaly commented 1 year ago

По итогу поставил авто билд. Сразу проверил работу оповещения об удалении сообщения в двух чатах. Сообщения не пришли. Так же с удалением использованных команд.

Вы подписаны на уведомления в этих чатах командой /subscribe?

vlab97 commented 1 year ago

По итогу поставил авто билд. Сразу проверил работу оповещения об удалении сообщения в двух чатах. Сообщения не пришли. Так же с удалением использованных команд.

Вы подписаны на уведомления в этих чатах командой /subscribe?

Да

vlab97 commented 1 year ago

Сейчас наконец все перепроверил. Весь функционал работает. У меня был косяк, что исполнительные файлы бота были в нескольких разных папках... Фактически запускался бот без последних изменений.

xvitaly commented 1 year ago

Сейчас наконец все перепроверил. Весь функционал работает. У меня был косяк, что исполнительные файлы бота были в нескольких разных папках...

Благодарю за тестирование. Если всё работает, то в ближайшее время сделаем релиз.