You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
3.7 KiB

# Описание
Приложение для автопостинга содержимого со ссылкой в социальные сети.
Приложение реализовано на 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 в телеграм.
2. Скопируйте опознак (token).
3. Вставьте токен в .env-файл вашего проекта, в качестве значения переменной TELEGRAM_BOT_TOKEN.
4. Добавьте бота в админы группы
5. Добавьте несколько тестовых сообщений в группу
6. Запустите команду:
```
python manage.py get_telegram_group_id
```
6. В результате будет выведен ид канала
7. Вставьте полученный ид в .env-файл, переменная TELEGRAM_CHAT_ID
### Возможные ошибки
7. Если будет ошибка, что "Нет обновлений", значит, нужно прислать больше сообщений в группу и быстрее запустить команду.
Возможно бот успевает прочитать обновления до вас