An open API service indexing awesome lists of open source software.

https://github.com/kolsha/vk_accepter

Self-hosted решение для автоматической публикации предложенных постов в vk.
https://github.com/kolsha/vk_accepter

automation community laravel vk vk-api vk-bot vkontakte

Last synced: 6 months ago
JSON representation

Self-hosted решение для автоматической публикации предложенных постов в vk.

Awesome Lists containing this project

README

          

# VKAccepter

Self-hosted решение для автоматической публикации предложенных постов в vk.\
На текущий момент находится в **разработке**, но уже можно пользоваться.

## Содержание

- [Возможности](#Возможности)
- [Установка](#Установка)
- [Хостинг/VPS](#ХостингVPS)
- [AWS](#AWS)
- [Настройка сообщества](#Настройка-сообщества)
- [TODO](#TODO)
- [Полезные ссылки](#Полезные-ссылки)

### Возможности

Кроме очевидной публикации всех постов есть следующие возможности:

- Отклонение постов:
- по регулярному выражению
- без текста
- не от участников сообщества
- от деактивированных пользователей

- Обработка поста:
- добавление watermark на изображения
- добавление описания к фото, с упоминанием сообщества
- добавление опроса (с возможностью сразу проголосовать в нем)
- добавление текста, сразу после основного текста поста
- добавление комментария от имени сообщества с возможностью упомянуть автора поста
- удаление ссылок

- Сообщения сообщества:
- пользователи могут просматривать опубликованные от их имени посты
- и удалять их

Функции обработки поста применяются и к постам опубликованным вручную.

### Установка

Установка ничем не отличается от установки обычного Laravel проекта.\
Clone or download и так далее!

#### Хостинг/VPS
Проект написан с использованием PostgreSQL, поэтому стоит убедиться, что он у Вас установлен. \
Также в проекте используются очереди поэтому убедитесь, что Вы их запустили:
``` bash
$ php artisan queue:listen
```

#### AWS
Стоит изучить [полезные ссылки](#Полезные-ссылки).
Из .env нужно удалить поля **RDS_***.

Как доставить ```.env``` файл на EC2 instance:
1. Загрузить на S3 и воспользоваться ```02env_vars.config```
2. Воспользоваться ```.ebignore```

#### Настройка сообщества
[Настраиваем](https://vk.com/dev/callback_api) callback сервер. Адрес имеет следующий вид
```
http(s)://{ВАШ_ХОСТ}/api/callback
```

Вносим в таблицу ```groups``` необходимые поля.

### TODO

- [ ] travis / code sniffer
- [ ] Перенести сообщения в отдельную очередь
- [x] Обновить бота сообщений
- [x] Список исключений для пользователей
- [ ] Web интерфейс для управления
- [x] Удаление старых отклоненных постов
- [ ] Автоматическая настройка callback сервера

### Полезные ссылки

- [How to deploy laravel on aws eb](http://blog.goforyt.com/laravel-5-aws-elastic-beanstalk-production-guide/)
- [Laravel5 Queue + ElasticBeanstalk + Supervisord](https://gist.github.com/lifeofguenter/f8ea93f10a403807a719)
- [VK Callback API](https://vk.com/dev/callback_api)