Всем привет! В этой статье расскажу свой путь по написанию bot-а(скрипта) для репоста постов из ВК на другие платформы.
Ознакомиться с проектом можете на Github, по ссылке.
Если кратко (цель проекта)
Index.php — при появлении новой записи на стене группы ВК — записывает их в БД
toTG.phptoFB.phptoOK.php — проверяют в БД наличие неопубликованных записей и если записи есть — публикуют их и делает отметку в БД.
Предыстория
Все началось лет 10 назад, когда студентом пытался на найти квартиру через VK. Но паблика недвижимости для моего города — не нашлось. Я подумал — это ниша и создал группу для поиска недвижимости. На текущий момент в группе около 10.000 подписчиков.
Прошло много времени, я начал работать в IT как QA, постиг много азов и решил, пора расширятся на другие платформы, но было лень (а лень двигатель прогресса) публиковать все новости в других соц.сетях и меседжерах вручную и я решил это немного автоматизировать. Что вышло — читайте ниже.
VK to OK ru News Repost Репост Новостей Вконтакте в Одноклассники Zennoposter
В этой статье мы рассмотрим пример для публикации записей из VK на различных платформах, таких как Telegram, Facebook и Одноклассники. Мы будем использовать Docker, официальные SDK и API.
Подготовка окружения
Подключаемся к серверу по SSH
Обновляем все на сервере
sudo apt update sudo apt upgrade
Устанавливаем Docker
Установите необходимые пакеты для поддержки HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Добавляем официальный ключ Docker GPG:
Добавляем официальный репозиторий Docker:
Обновляем индексы пакетов еще раз:
sudo apt update
И наконец ставим Docker:
sudo apt install docker-ce docker-ce-cli containerd.io
Проверяем, что Docker успешно установлен, запустив простую команду:
sudo docker run hello-world
Устанавливаем Git
sudo apt install git
После завершения установки проверяем, что Git установлен правильно, выполнив команду:
git —version
Копируем проект к себе на сервер
Выполняем инструкцию из файла README.md
- Редактируем под себя файл .env(делаем его из примера: .env.example )
- Редактируем файлы конфига nginx
- Выполняем:
docker compose exec php bash
- Ставим в контейнере PHP — composer, выполнив
composer install
- Билдуем контейнеры Docker
docker-compose up -d —build
Настраиваем соц.сетимеседжеры
Из файла config.example.ini делаем свой файл config.ini — это файл с подключениями к БД и нашими токенами от VK, Telegram, Facebook и odnoklassniki
Нам нужно настроить доступ к API каждой социальной сетимеседжераБД. Для этого нам понадобится указать в файлике config.ini следующие данные:
- [Database] — указываем подключения к БД
- servername — ip по которому подключаемся в базе
- username — имя пользователя
- password — пароль
- dbname — название БД
- confirmation_token: значение указанное в «Строка, которую должен вернуть сервер»
- token: значение указанное в » Секретный ключ:»
- post_type: в моем случае «post»
- api_key: Ключ бота Telegram.
- chat_id: Идентификатор чата или канала, куда мы будем отправлять сообщения.
- app_id: Идентификатор приложения Facebook.
- app_secret: Секретный ключ приложения Facebook.
- page_id: Идентификатор страницы Facebook, на которую мы будем репостить записи.
- user_access_token: Токен доступа пользователя с необходимыми разрешениями.
- access_token: Вечный access_token в приложении
- private_key: Закрытый ключ приложения.
- public_key: Публичный ключ приложения.
- session_key: Сессионный ключ в приложении.
- group_id: Идентификатор группы Одноклассники, на которую мы будем репостить записи.
7. Размечаем таблицу fromvk в БД, выполнив в PHPmyAdmin SQL:
КАК ПОСТАВИТЬ ПОСТ С ВК в ОДНОКЛАССНИКИ
CREATE TABLE fromvk ( id int(11) NOT NULL, text text DEFAULT NULL, photo text DEFAULT NULL, signer_id text DEFAULT NULL, IsRepostToTelegram tinyint(1) NOT NULL DEFAULT 0, IsRepostToInstagram tinyint(1) NOT NULL DEFAULT 0, IsRepostToFacebook tinyint(1) NOT NULL DEFAULT 0, IsRepostToViber tinyint(1) DEFAULT 0, IsRepostToOK tinyint(1) DEFAULT 0 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Настраиваем расписание в Сrone
Открываем файл Crone c расписанием:
crontab -e
Настраиваем как часто будет происходить проверка в БД на наличие неперерепощеных записей в telegram, facebook, ok. Рекомендую ставить одинаковое расписание для всех 3 фалов. В примере ниже — проверка каждую минуту + логирование в файл cron.log
* * * * * cd /root/simple-docker-php-main docker compose exec php php toTG.php >> /root/simple-docker-php-main/cron.log 2>> /root/simple-docker-php-main/cron.log 2>> /root/simple-docker-php-main/cron.log 2>https://habr.com/ru/articles/747316/» target=»_blank»]habr.com[/mask_link]
Перенос фото из ВКонтакте в Одноклассники

При одновременном использовании нескольких социальных сетей может возникнуть необходимость переноса фото из одной личной страницы в другую, поскольку по каким-то причинам исходный файл не сохранился. Это может случиться и с пользователями, которые хотят перенести снимок из ВКонтакте в Одноклассники. Существует два метода, реализуемые через полную версию сайта и мобильное приложение. Вам нужно выбрать подходящий и воспользоваться им, чтобы выполнить загрузку фотографии.
Полная версия сайта
Если есть возможность использовать браузер на компьютере или ноутбуке, мы советуем задействовать именно полную версию сайта, поскольку так будет проще реализовать два метода, ведь не придется переключаться между приложениями на телефоне и разбираться в присутствующих там меню. Снимок помещается на страницу в Одноклассниках в качестве ссылки в заметках, после чего он будет сохранен в альбоме, или же его необходимо будет сначала скачать, чтобы потом добавить как обычное изображение. Давайте по очереди разберемся с этими двумя вариантами.
Способ 1: Прикрепление ссылки в заметках
Как известно, в Одноклассниках имеется возможность создавать неограниченное количество заметок, которые будут размещаться в качестве публикаций на личной странице и отображаться в ленте друзей. Если там прикрепить ссылку на любое фото, оно будет отображаться в нормальном режиме, а также сам снимок сохранится в альбоме «Разное». Если вас устраивает такой вариант, выполните следующие действия:

-
Для начала займемся фотографией, находящейся ВКонтакте. Отыщите ее, например, на своей личной странице, в сообществе или профиле другого юзера. Кликните по ней, чтобы открыть для просмотра.







Однако далеко не всем подходит такой способ из-за разных причин. Например, кто-то не желает создавать заметку для переноса снимка, где еще будет находиться ссылка на оригинал, немного портя внешний вид самой публикации. В таких случаях мы советуем прибегнуть к следующему методу.
Способ 2: Скачивание фото с дальнейшей загрузкой в ОК
Стандартная функциональность практически любого браузера позволяет сохранить выбранную картинку на локальном хранилище и использовать ее для своих нужд. Сейчас мы предлагаем задействовать эту опцию, чтобы сначала скачать необходимый снимок на жесткий диск в виде файла, а затем загрузить в Одноклассники как любую другую фотографию.
- Для этого снова откройте изображение для просмотра, нажмите по нему правой кнопкой мыши и выберите пункт «Сохранить как».

- В открывшемся окне Проводника задайте любое имя для картинки и выберите расположение, после чего нажмите «Сохранить».

- Откройте профиль в Одноклассниках, где перейдите в раздел «Фото».

- Щелкните по кнопке «Загрузить фото».

- Снова откроется окно Проводника, где выберите сохраненный ранее снимок и нажмите на «Открыть».

- Вы будете уведомлены об успешной его загрузке. Далее можно создать заметку из фотографии, загрузить еще другие файлы или перейти к редактированию.

- Теперь эта фотография будет отображаться в разделе «Мои фото» и может быть помещена в любой из альбомов.

Мобильное приложение
Приступим к рассмотрению этих же способов, но путем реализации через мобильное приложение Одноклассники. Дополнительно этого потребуется использовать программу социальной сети ВКонтакте и мобильную версию сайта, открытую через любой браузер. Детальный разбор каждого метода нужен для того, чтобы начинающие юзеры не запутались в интерфейсах приложений.
Способ 1: Прикрепление ссылки в заметках
К сожалению, пока функциональность приложения ВКонтакте не позволяет скопировать прямую ссылку на снимок, обойдя стороной личные альбомы самого пользователя, поэтому придется использовать мобильную версию сайта. Для этого вам понадобится только любой браузер.
- Перейдите по адресу m.vk.com, найдите фотографию и откройте ее для просмотра.

- Удерживайте палец на фото на протяжении нескольких секунд для открытия контекстного меню. Если оно не отобразилось, потребуется отыскать кнопку в виде трех горизонтальных точек, которая должна находиться сбоку или сверху фото. В самом меню вас интересует пункт «Загрузить оригинал».

- Нажмите по ссылке в адресной строке.

- Скопируйте ее в буфер обмена, используя для этого специально отведенную кнопку.

- Переместитесь в мобильное приложение Одноклассники, где в главном разделе нажмите по панели «Заметка».

- Введите текст и вставьте ссылку, зажав палец на пустом месте ввода и выбрав появившийся вариант «Вставить». После этого остается только тапнуть «Опубликовать».

- Как видно, запись теперь отображается в личном профиле, а само изображение было добавлено в альбом «Разное».

Способ 2: Скачивание фото с дальнейшей загрузкой в ОК
Конечно, скачать снимок можно и через мобильную версию сайта ВКонтакте, но через приложение сделать это будет немного проще, к тому же выше мы уже говорили об использовании этого источника, поэтому сейчас предлагаем сосредоточиться именно на двух программах.
- Запустите ВКонтакте и перейдите к личному профилю или месту, где хранится нужная фотография.

- Отыщите ее и откройте для просмотра.

- Справа вверху нажмите по пиктограмме в виде трех вертикальных линий.

- В появившемся меню тапните по пункту «Скачать» и дождитесь окончания загрузки снимка в галерею.

- Откройте Одноклассники и перейдите в меню.

- Выберите там раздел «Фото».

- Тапните по плитке «Загрузить фото».

- В галерее найдите последний загруженный снимок.

- По необходимости отредактируйте его при помощи встроенных функций, а затем опубликуйте.

Точно такими же образами вы можете загрузить неограниченное количество картинок, поместив их, например, в разные альбомы или создав отдельный для хранения. Приведенные инструкции помогут быстрее разобраться с решением поставленной задачи и найти понравившийся способ.
Источник: lumpics.ru
Как сделать репост вконтакте, одноклассниках, инстаграме, лайке на мобильной и компьютерной версии?

4 — й год работаю удалённо и создаю различные источники дохода. Строю бизнес в интернете и активно инвестирую.
Приветствую всех читателей данной статьи! На связи Федор Лыков. Сегодняшняя наша тема: что такое репост и как его сделать.
Содержание скрыть