https://github.com/yukkerike/vklml
Перехват удаленных/измененных сообщений
https://github.com/yukkerike/vklml
backup bot-framework flask-app logging messages-backup python3 vk vkapi vkontakte webui
Last synced: about 1 year ago
JSON representation
Перехват удаленных/измененных сообщений
- Host: GitHub
- URL: https://github.com/yukkerike/vklml
- Owner: yukkerike
- License: mit
- Created: 2019-09-05T02:37:56.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-29T23:54:41.000Z (over 1 year ago)
- Last Synced: 2024-10-24T06:28:25.696Z (over 1 year ago)
- Topics: backup, bot-framework, flask-app, logging, messages-backup, python3, vk, vkapi, vkontakte, webui
- Language: Python
- Homepage:
- Size: 224 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vklml (ex. vkMessageActionLogger)
Перехват удаленных/измененных сообщений вконтакте
Особенности/фичи:
* Формирование отчётов об изменении сообщений.
* Конфигурация с помощью конфиг-файла.
* Поиск удалённых фотографий по таймеру во всех сообщениях, в том числе в пересланных (по умолчанию - раз в сутки).
* Встроенный веб-сервер, формирующий каталог отчётов и отдающий их, с возможностью входа по логину и паролю (можно запускать как в составе бота, так и gunicorn'ом).
* При использовании другого веб-сервера для раздачи статических страниц отчёта, можно запускать генератор списка отчётов по расписанию, либо включить его запуск самим ботом в конфиге.
* Возможность дописывать свои обработчики событий (можно отключить основной функционал бота по записи сообщений в базу и использовать его только для выполнения своих обработчиков).
## Начало
**[python 3.4](https://python.org/) или новее**
git clone https://github.com/yukkerike/vklml.git
cd vklml
pip3 install -r requirements.txt
> Либо скачайте всё в архиве и распакуйте (Clone or download > Download ZIP).
>
> Зависимости лучше устанавливать от имени администратора. В случае с windows стоит писать не __pip3__, а __py -m pip__, и не __python3__, а __py__.
## Запуск
Укажите токен в __config.json__ и запустите скрипт:
python3 main.py
Либо передайте токен в качестве аргумента к скрипту, он будет помещен в конфиг:
python3 main.py ACCESS_TOKEN
Получить токен можно тут:
## Советы по настройке
- Если вы хотите включить предзагрузку сообщений, полученных до запуска программы, измените значение ключа __preloadMessages__ на __true__.
- Если вы хотите, чтобы к файлам отчёта генерировался index.html с ссылками на отчёты по дням за текущий месяц (__излишне в случае использования встроенного веб-сервера__), добавьте правило для запуска __updateIndex.py__ раз в месяц в crontab, либо измените значение __false__ на __true__ ключа __createIndex__ в __config.json__.
- Когда вы захотите обновить кэш названий чатов, запустите __updateNames.py__.
- Если вы не хотите использовать встроенный веб-сервер, flask можно не устанавливать.
- Если хотите использовать встроенный веб-сервер, измените значение ключа __enableFlaskWebServer__ на __true__. Использование простой http аутентификации настраивается ключом __useAuth__, список пользователей представлен словарём в ключе __users__, измените стандартный пароль перед использованием.
> Помимо прямого назначения, бота можно использовать для выполнения своих действий в ответ на события:
>
> 1. Измените значение __false__ на __true__ ключа __customActions__ в __config.json__.
> 1. Добавьте свои обработчики действий в файле __customActions.py__.
>
> Либо использовать исключительно для выполнения своих действий, отключив запись удалений/изменений сообщений переведением ключа __disableMessagesLogging__ в __true__.
>
В папке __autostart__ приложены примеры сервисов для автозапуска программы, в них требуется подкорректировать пути до __main.py__.
* __SysV init__ – vkCacheBot -> __/etc/init.d__
* __systemd__– vkCacheBot.service -> __/lib/systemd/system__ (~/.local/share/systemd/user/ для запуска от имени пользователя)
* __Windows__ – vkCacheBot.vbs -> __C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup__
## Обновление
Сверьте, не изменился ли список зависимостей в __requirements.txt__. Если нужно, установите их. Замените файлы новыми версиями. Допустимо сохранить свой __config.json__, он будет автоматически обновлён, если в новой версии список поддерживаемых настроек отличается.