Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 4.18 KB

README.md

File metadata and controls

50 lines (40 loc) · 4.18 KB

SMM_Planner

Этот проект представляет собой управление публикациями в социальных сетях с использованием API Google Sheets и API различных платформ социальных сетей, таких как VK, OK и Telegram.

Установка зависимостей:

pip install -r requirements.txt

Подготовка к запуску

Для запуска бота необходимо:

  1. Создать файл .env в корневом каталоге со скриптами
  2. Получить токен Telegram-бота, создать бота через BotFather в Telegram, получить токен и указать его в качестве переменной окружения TELEGRAM_TOKEN. Например: TELEGRAM_TOKEN=3253423236:SSDDSfghhft54gdf
  3. Получить идентификаторы чатов и групп, куда необходимо опубликовывать, и указать их в качестве переменной окружения:
  • TG_CHAT_ID. Например: TG_CHAT_ID=@My_chat
  • VK_CHAT_ID. Например: VK_CHAT_ID=-226320423
  • VK_GROUP_ID. Например: VK_GROUP_ID=226320423
  • ALBUM_ID. Например: ALBUM_ID=296452847
  • VK_CHAT_ID. Например: TG_CHAT_ID=@My_chat
  • OK_GROUP_ID. Например: OK_GROUP_ID=70000002834827
  1. Получить токен приложения VK API, и указать его в качестве переменной окружения VK_TOKEN. Например: VK_TOKEN=vk1.a.UzvFkeu24SxHp_Wg9Sgjdytztj65hfjO5rDC6SpFwBs00bukEWr
  2. Получить токен приложения OK API, и указать его в качестве переменной окружения OK_TOKEN. Например: OK_TOKEN=tkn1YWGSDgjsdhjlUDasdgmk5sdGJndth0vE9O0eVJ8M0ZZR8LmgvwBO4zYmPtunD2daZ2Ie1
  3. Получить публичный и секретные ключи для OK, и указать их в качестве переменных окружения:
  • OK_PUBLIC_KEY. Например: OK_PUBLIC_KEY=ASDFJKDGJSDJTDSJRSDGTSDGSDG
  • OK_SECRET_KEY. Например: OK_SECRET_KEY=44p4j4kKFMSDFKsdm4sdg
  1. Получить ID google spreadsheets, и указать его в качестве переменной окружения GOOGLE_EXEL_ID. Например: GOOGLE_EXEL_ID=2-gdfgfSEg-GSDgWEKMd6

Запуск

python google_sheets_watcher.py

Результат

  • Итерация по строкам в google таблицах.
  • Проверяет, совпадают ли текущая дата и время с запланированной датой и временем публикации в таблице.
  • Если совпадение найдено:
    • Получает текст публикации из документа Google Docs.
    • Загружает любую прикрепленную фотографию.
    • Создает пост в ВК, если включена социальная сеть ВК и пост еще не опубликован.
    • Создает пост в Telegram, если социальная сеть Telegram включена и пост еще не опубликован.
    • Запишет сведения о публикации и статус в документе Google Sheets.
    • Добавит идентификатор сообщения в список сообщений для удаления, если запланированная дата удаления находится в будущем.
  • Продолжать будет этот процесс до бесконечности, пока скрипт не будет остановлен.

Версия Python:

Мы использовали Python 3.8.3, но он должен работать на любой более новой версии.

Цель проекта:

Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.

Авторы

(2023) Zaitsev Vladimir Alexej Zikunow