|
|
|
# Описание
|
|
|
|
|
|
|
|
Приложение для автопостинга содержимого со ссылкой в социальные сети.
|
|
|
|
Приложение реализовано на Django 4.1.
|
|
|
|
На данный момент реализован автопостинг в ВКонтакте, Одноклассники и телеграм.
|
|
|
|
Автопостинг на уровне архитектуры реализован с помощью класса "Маркетолог" cms.promoters.Marketer.
|
|
|
|
Маркетолог передаёт продвигателям (promoters) статью для продвижения.
|
|
|
|
|
|
|
|
# Настраиваем доступ к социальным сетям
|
|
|
|
|
|
|
|
## Настраиваем доступ к одноклассникам
|
|
|
|
|
|
|
|
1. Создаём [приложение](https://apiok.ru/dev/app/create)
|
|
|
|
2. Следуем инструкциям по ссылке выше.
|
|
|
|
3. Создаём приложение.
|
|
|
|
4. Выбираем тип приложения "Пользовательское".
|
|
|
|
5. Ставим галочку "Пользовательское"
|
|
|
|
6. Заполняем описание.
|
|
|
|
7. Нажимаем "Добавить платформу".
|
|
|
|
8. Выбираем OAuth.
|
|
|
|
9. В списке разрешённых redirect_uri указываем https://zakonvremeni.ru
|
|
|
|
10. Ставим галочку "Разрешить клиентскую OAuth авторизацию".
|
|
|
|
11. Выставляем права:
|
|
|
|
* Доступ к личной информации через OAuth (VALUABLE_ACCESS): Опционально
|
|
|
|
* Получение длинных токенов OAuth (LONG_ACCESS_TOKEN): Опционально
|
|
|
|
* Установка статуса (SET_STATUS): Не используется
|
|
|
|
* Изменение фотографий и фотоальбомов (PHOTO_CONTENT): Не используется
|
|
|
|
* Управление группами (GROUP_CONTENT): Обязательно
|
|
|
|
11. Нажмите "Сохранить".
|
|
|
|
12. Вам на почту придут ключи.
|
|
|
|
13. Нажмите на кнопку "Получить новый" рядом с надписью "Вечный access_token".
|
|
|
|
14. Скопируйте значение "Вечный access_token" в .env-файл в корне вашего приложения, в качестве значения OK_ACCESS_TOKEN:
|
|
|
|
15. Вставьте их в .env-файл в корне вашего приложения:
|
|
|
|
* Публичный ключ приложения - в качестве значения OK_APPLICATION_KEY
|
|
|
|
* Секретный ключ приложения - в качестве значения OK_APPLICATION_SECRET_KEY
|
|
|
|
|
|
|
|
|
|
|
|
## Настраиваем доступ к телеграм
|
|
|
|
|
|
|
|
1. Создайте бота с помощью @BotFather в телеграм. Для этого укажите команду /newbot и нажмите Enter.
|
|
|
|
2. Следуйте инструкциям.
|
|
|
|
3. В конце BotFather выдаст вам опознак (token).
|
|
|
|
4. Вставьте опознак в .env-файл вашего проекта, в качестве значения переменной TELEGRAM_BOT_TOKEN.
|
|
|
|
5. Добавьте бота в админы группы
|
|
|
|
6. Добавьте несколько тестовых сообщений в группу
|
|
|
|
7. Запустите команду:
|
|
|
|
```
|
|
|
|
python manage.py get_telegram_group_id
|
|
|
|
```
|
|
|
|
6. В результате будет выведен ид канала
|
|
|
|
7. Вставьте полученный ид в .env-файл, переменная TELEGRAM_CHAT_ID
|
|
|
|
|
|
|
|
### Возможные ошибки
|
|
|
|
7. Если будет ошибка, что "Нет обновлений", значит, нужно прислать больше сообщений в группу и быстрее запустить команду.
|
|
|
|
Возможно бот успевает прочитать обновления до вас.
|
|
|
|
|
|
|
|
|
|
|
|
# Задаём доступ к веб-интерфейсу
|
|
|
|
|
|
|
|
1. Зайдите по ssh на хостинг.
|
|
|
|
2. Зайдите по root.
|
|
|
|
3. Активируйте виртуальное окружение:
|
|
|
|
```shell
|
|
|
|
source /home/crossposting_env/bin/activate
|
|
|
|
```
|
|
|
|
4. Перейдите в папку проекта:
|
|
|
|
```shell
|
|
|
|
cd /var/www/crossposting/backend/current/
|
|
|
|
```
|
|
|
|
5. Запустите консоль django:
|
|
|
|
```shell
|
|
|
|
python3.8 manage.py shell
|
|
|
|
```
|
|
|
|
1. Выполните команду на python:
|
|
|
|
```python
|
|
|
|
from django.contrib.auth.models import User
|
|
|
|
```
|
|
|
|
2. Создайте пользователя, под которым будете авторизоваться. Укажите своё имя пользователя, электропочту и пароль:
|
|
|
|
```python
|
|
|
|
user = User.objects.create_user(username='user', email='user@mail.pro', password='123123123')
|
|
|
|
```
|