{"id":13340591,"url":"https://github.com/yukkerike/vklml","last_synced_at":"2025-03-11T18:31:29.123Z","repository":{"id":174741733,"uuid":"206459211","full_name":"yukkerike/vklml","owner":"yukkerike","description":"Перехват удаленных/измененных сообщений","archived":false,"fork":false,"pushed_at":"2024-08-29T23:54:41.000Z","size":229,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-24T06:28:25.696Z","etag":null,"topics":["backup","bot-framework","flask-app","logging","messages-backup","python3","vk","vkapi","vkontakte","webui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yukkerike.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-05T02:37:56.000Z","updated_at":"2024-08-29T23:54:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"87ec09b7-58a8-4201-89b2-76defee4cc0f","html_url":"https://github.com/yukkerike/vklml","commit_stats":null,"previous_names":["yukkerike/vklml"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukkerike%2Fvklml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukkerike%2Fvklml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukkerike%2Fvklml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukkerike%2Fvklml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yukkerike","download_url":"https://codeload.github.com/yukkerike/vklml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243090367,"owners_count":20234789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","bot-framework","flask-app","logging","messages-backup","python3","vk","vkapi","vkontakte","webui"],"created_at":"2024-07-29T19:23:37.409Z","updated_at":"2025-03-11T18:31:29.111Z","avatar_url":"https://github.com/yukkerike.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vklml (ex. vkMessageActionLogger)\n\nПерехват удаленных/измененных сообщений вконтакте\n\nОсобенности/фичи:\n\n* Формирование отчётов об изменении сообщений.\n* Конфигурация с помощью конфиг-файла.\n* Поиск удалённых фотографий по таймеру во всех сообщениях, в том числе в пересланных (по умолчанию - раз в сутки).\n* Встроенный веб-сервер, формирующий каталог отчётов и отдающий их, с возможностью входа по логину и паролю (можно запускать как в составе бота, так и gunicorn'ом).\n* При использовании другого веб-сервера для раздачи статических страниц отчёта, можно запускать генератор списка отчётов по расписанию, либо включить его запуск самим ботом в конфиге.\n* Возможность дописывать свои обработчики событий (можно отключить основной функционал бота по записи сообщений в базу и использовать его только для выполнения своих обработчиков).\n\n## Начало\n\n**[python 3.4](https://python.org/) или новее**\n\n    git clone https://github.com/yukkerike/vklml.git\n    cd vklml\n    pip3 install -r requirements.txt\n\n\u003e Либо скачайте всё в архиве и распакуйте (Clone or download \u003e Download ZIP).\n\u003e\n\u003e Зависимости лучше устанавливать от имени администратора. В случае с windows стоит писать не __pip3__, а __py -m pip__, и не __python3__, а __py__.\n\n## Запуск\n\nУкажите токен в __config.json__ и запустите скрипт:\n\n    python3 main.py\n\nЛибо передайте токен в качестве аргумента к скрипту, он будет помещен в конфиг:\n\n    python3 main.py ACCESS_TOKEN\n\nПолучить токен можно тут: \u003chttps://oauth.vk.com/authorize?client_id=2685278\u0026scope=69632\u0026redirect_uri=https://oauth.vk.com/blank.html\u0026display=page\u0026response_type=token\u0026revoke=1\u003e\n\n## Советы по настройке\n\n- Если вы хотите включить предзагрузку сообщений, полученных до запуска программы, измените значение ключа __preloadMessages__ на __true__.\n\n- Если вы хотите, чтобы к файлам отчёта генерировался index.html с ссылками на отчёты по дням за текущий месяц (__излишне в случае использования встроенного веб-сервера__), добавьте правило для запуска __updateIndex.py__ раз в месяц в crontab, либо измените значение __false__ на __true__ ключа __createIndex__ в __config.json__.\n\n- Когда вы захотите обновить кэш названий чатов, запустите __updateNames.py__.\n\n- Если вы не хотите использовать встроенный веб-сервер, flask можно не устанавливать.\n\n- Если хотите использовать встроенный веб-сервер, измените значение ключа __enableFlaskWebServer__ на __true__. Использование простой http аутентификации настраивается ключом __useAuth__, список пользователей представлен словарём в ключе __users__, измените стандартный пароль перед использованием.\n\n\u003e Помимо прямого назначения, бота можно использовать для выполнения своих действий в ответ на события:\n\u003e\n\u003e 1. Измените значение __false__ на __true__ ключа __customActions__ в __config.json__.\n\u003e 1. Добавьте свои обработчики действий в файле __customActions.py__.\n\u003e\n\u003e Либо использовать исключительно для выполнения своих действий, отключив запись удалений/изменений сообщений переведением ключа __disableMessagesLogging__ в __true__.\n\u003e\nВ папке __autostart__ приложены примеры сервисов для автозапуска программы, в них требуется подкорректировать пути до __main.py__.\n\n* __SysV init__ – vkCacheBot -\u003e __/etc/init.d__\n* __systemd__– vkCacheBot.service -\u003e __/lib/systemd/system__ (~/.local/share/systemd/user/ для запуска от имени пользователя)\n* __Windows__ – vkCacheBot.vbs -\u003e __C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup__\n\n## Обновление\n\nСверьте, не изменился ли список зависимостей в __requirements.txt__. Если нужно, установите их. Замените файлы новыми версиями. Допустимо сохранить свой __config.json__, он будет автоматически обновлён, если в новой версии список поддерживаемых настроек отличается.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukkerike%2Fvklml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyukkerike%2Fvklml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukkerike%2Fvklml/lists"}