Автоматическая публикация комиксов xkcd в Telegram и ВКонтакте.
Проект скачивает комиксы с xkcd.com и публикует их в:
- Telegram-канал (через
start_bot.py) - ВКонтакте (через
vk_poster.py)
| Файл | Описание |
|---|---|
comic_loader.py |
Скачивание комиксов с xkcd.com |
start_bot.py |
Отправка комикса в Telegram канал |
vk_poster.py |
Публикация комикса ВКонтакте |
utils.py |
Вспомогательные функции |
Проверьте версию Python:
python --version- Должна быть версия 3.8 или выше
# Клонировать репозиторий
git clone https://github.com/Skip-Bug/api_lesson_6
cd api_lesson_6
# Установить зависимости
pip install -r requirements.txtЧасть настроек проекта берётся из переменных окружения.
Чтобы их определить, создайте файл .env рядом с main.py
и запишите туда данные в таком формате: ПЕРЕМЕННАЯ=значение.
# Telegram
TG_BOT_TOKEN=ваш_токен_бота
TG_CHANNEL_ID=@ваш_канал или -100xxxxxxxxxx
# ВКонтакте
VK_KEY=ваш_персональный_токен
GROUP_ID=ID_группы
Telegram:
Инструкция регистрации для Бота
И получения его TG_BOT_TOKEN
Также понадобится канал TG_CHANNEL_ID в telegram и его название:
публичный пишут @мой_канал, а частный (-1003711383499)
Добавьте бота в канал как администратора
ВКонтакте: Создайте группу в ВКонтакте ID группы — числовой идентификатор вашего сообщества. Узнать можно ID группы вставив ссылку ваше группы
Получить токен Вконтакте:
Зайдите на сайт
Создайте Standalone-приложение
После пройдте сюда
Выберите приложение Kate Mobile
Авторизуйтесь (если требуется) и разрешите доступ
Скопируйте часть адресной строки от access_token= до &expires_in.
Токен будет начинаться с vk1.a. — это токен нового поколения VK ID.
# Публикует последний комикс и завершает работу
python start_bot.py
# Конкретный комикс
python start_bot.py -x 123
# Случайный комикс
python start_bot.py -x 0# Случайный комикс
python vk_poster.pyapi_lesson_6/
├── comic_loader.py # Загрузка комиксов с xkcd.com
├── start_bot.py # Отправка в Telegram
├── vk_poster.py # Публикация ВКонтакте
├── utils.py # Вспомогательные функции
├── images/ # Папка для скачанных комиксов
├── .env # Переменные окружения (токены)
└── requirements.txt # Зависимости
- start_bot.py / vk_poster.py — скачивают комикс во временный файл в корень и удаляют после публикации
- comic_loader.py — скачивает в папку
images/(аргумент-p) - Оба скрипта отправки (
start_bot.py,vk_poster.py) публикуют один комикс и завершают работу
Код написан в образовательных целях на курсе dvmn.org по веб-разработке.