Этот проект представляет собой управление публикациями в социальных сетях с использованием API Google Sheets и API различных платформ социальных сетей, таких как VK, OK и Telegram.
pip install -r requirements.txt
Для запуска бота необходимо:
- Создать файл .env в корневом каталоге со скриптами
- Получить токен Telegram-бота, создать бота через BotFather в Telegram, получить токен и указать его в качестве переменной окружения
TELEGRAM_TOKEN
. Например:TELEGRAM_TOKEN=3253423236:SSDDSfghhft54gdf
- Получить идентификаторы чатов и групп, куда необходимо опубликовывать, и указать их в качестве переменной окружения:
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
- Получить токен приложения VK API, и указать его в качестве переменной окружения
VK_TOKEN
. Например:VK_TOKEN=vk1.a.UzvFkeu24SxHp_Wg9Sgjdytztj65hfjO5rDC6SpFwBs00bukEWr
- Получить токен приложения OK API, и указать его в качестве переменной окружения
OK_TOKEN
. Например:OK_TOKEN=tkn1YWGSDgjsdhjlUDasdgmk5sdGJndth0vE9O0eVJ8M0ZZR8LmgvwBO4zYmPtunD2daZ2Ie1
- Получить публичный и секретные ключи для OK, и указать их в качестве переменных окружения:
OK_PUBLIC_KEY
. Например:OK_PUBLIC_KEY=ASDFJKDGJSDJTDSJRSDGTSDGSDG
OK_SECRET_KEY
. Например:OK_SECRET_KEY=44p4j4kKFMSDFKsdm4sdg
- Получить 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 3.8.3
, но он должен работать на любой более новой версии.
Код написан в образовательных целях на онлайн-курсе для веб-разработчиков dvmn.org.
(2023) Zaitsev Vladimir Alexej Zikunow