Автоматизация постов в телеграмме из вк. Способ применения #6

12.04.2019 Интернет

Автопостинг в Телеграмм – отличный инструмент, если пользователь продвигает один бренд (или бизнес) одновременно на нескольких ресурсах. В этом случае он сталкивается с необходимостью дублировать посты, а при насыщенном плане публикаций это занимает немалое время.

Автопостинг из ВКонтакте в Телеграмм

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

Сегодня работает немало ботов типа «бот – Telegram - ВК», но большая часть из них предназначена для скачивания музыки или других медиа из ВК, некоторые работают некорректно. Так как большая часть ботов создается на добровольных началах, то найти функционального и полностью работоспособного непросто.
Можно прибегнуть к Posterbot (@pstrbot ); при бесплатном использовании (в отличие от Premium) бот имеет ограничения:

  • Можно подключать до 20 источников (для Premium – до 40);
  • В качестве источников можно использовать сообщества с числом подписчиков до 5000 (в Premium ограничений нет);
  • Автопостинг музыки из ВКонтакте и большинство ручных настроек доступны только для Premium.

Немаловажный момент: из-за большой нагрузки на сервера автопостинг может задерживаться, иногда до 14 часов. Но обладателей Premium эта проблема касается в меньшей степени – если нет никаких форс-мажоров, посты в Телеграмм появляются без задержки.

Настройка автопостинга с помощью Posterbot проходит в несколько этапов:

1 этап: добавление Posterbot в сообщество с предоставлением прав администратора:

2 этап: добавление сообщества в Posterbot:

3 этап: подключение источника ВКонтакте:

Автопостинг из Facebook и Instagram в Телеграмм

Настраивается так же, как и для ВКонтакте. Первые два этапа – добавление бота в список администраторов и добавление канала. Если Posterbot уже подключен и настроен, то можно сразу приступить к добавлению источника.

Для Instagram

Для Facebook

Автопостинг в Youtube из Телеграмм

Автоматический репостинг поддерживается и для Youtube, для этого потребуется сделать Posterbot администратором сообщества Телеграмм, а затем добавить канал в беседе с ботом – эти два этапа подробно описаны выше.

Чтобы добавить в список источников канал Youtube, надо:

Репост из Телеграмм в другие соцсети

Надо признать, что неопытные пользователи Телеграмм поначалу опасаются работать с ботами. Но даже роботизированные аккаунты пугают их меньше, чем настройка платформ кросспостинга – именно с их помощью чаще всего организуют одновременную публикацию в соцсети и мессенджеры.

Но Телеграмм не стоит на месте, теперь с помощью бота Репостинг в соцсети (@SocialRepostBot ) можно отправлять посты из Телеграмм в VK и Facebook.
Для того чтобы организовать репост из Телеграм в Фейсбук, потребуется:

При некотором терпении и внимании не составит труда настроить автопостинг и репостинг между несколькими соцсетями и мессенджерами.

Примечание: в начале 2017 года ВК начал требовать токен пользователя для вызова метода wall.get и многих других. Процесс получения токена для ВК не относится к теме учебника, следовательно, описан не будет. По ссылке https://vk.com/dev/manuals любой желающий сможет найти документацию и описание процесса получения токена.

Для начала — небольшое лирическое отступление.
Когда в Telegram появились каналы , поначалу я к ним относился как к неудачной попытке клонировать Twitter. Сразу появились тупые канальчики с тупыми картиночками, что только усугубляло положение дел. Однако сейчас, спустя больше месяца, моё мнение изменилось на диаметрально противоположное. Призванные заменить списки рассылки (ими вообще кто-то пользовался?), каналы дали возможность получать огромное количество контента, которым можно делиться, который можно сохранять.

В Bot FAQ есть интересная фраза: "Мы будем внимательно смотреть на то, как люди пользуются ботами и развивать их в том направлении". С учетом того, что многие боты занимались именно рассылкой информации, каналы - это очень логичный и правильный шаг в развитии автоматизированных средств.
С точки зрения программиста, каналы решают сразу несколько ключевых проблем:

  1. Не надо зависеть от серверов Telegram, т.к. нет входящих сообщений.
  2. Анонимная рассылка сообщений (некоторые люди просили сделать возможность отправлять свои сообщения через "безликого" бота) максимально упростилась.
  3. Не надо вести списки пользователей, которым нужно отправить информацию и внедрять паузы между отправкой сообщения по очереди всем, эту заботу берёт на себя сам Telegram.

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

Получаем записи

В качестве "подопытного кролика" я выбрал свою маленькую, но очень гордую группу с музыкой C:\Music . Получать новые записи будем при помощи VK API, при этом нам не нужно заморачиваться с созданием приложений, т.к. получить записи со стены можно даже без авторизации ВКонтакте (если в настройках сообщества не указано обратно)
Итак, сформируем ссылку, которая будет нам возвращать последние 10 записей от имени сообщества из группы C:\Music: https://api.vk.com/method/wall.get?domain=c.music&count=10&filter=owner&access_token=token
Что здесь что? domain - короткое имя сообщества. Если его нет, то меняем domain=xxx на owner_id=-yyy (обратите внимание на минус перед числом, это важно). count - число выводимых записей. Чем дольше пауза между проверками и чем чаще в сообществе появляются записи, тем большее число нужно выставить, но не более 100. filter=owner просит сервер выводить записи только от имени группы, полезно, если стена открыта, access_token - это токен пользователя, который «дёргает» API от имени одного из приложений. Давайте теперь создадим файл bot.py , в котором зададим основные константы и импорты:

# -*- coding: utf-8 -*- import time import eventlet import requests import logging import telebot from time import sleep # Каждый раз получаем по 10 последних записей со стены URL_VK = "https://api.vk.com/method/wall.get?domain=c.music&count=10&filter=owner&access_token=Ваш_токен_VK" FILENAME_VK = "last_known_id.txt" BASE_POST_URL = "https://vk.com/wall-39270586_" BOT_TOKEN = "токен бота, постящего в канал" CHANNEL_NAME = "@канал" bot = telebot.TeleBot(BOT_TOKEN)

Во-первых, не забудьте сделать нужного бота администратором канала, иначе фокус не удастся. Во-вторых, обратите внимание, что в импортах появилась библиотека eventlet , она поможет нам избежать проблем при получении записей из ВК. В-третьих, в указанный txt-файл будем записывать номер верхнего поста на момент проверки, я решил не заморачиваться с созданием key-value хранилищ, ради одного числа-то. В-четвёртых, в качестве параметра BASE_POST_URL указываем ссылку на любой пост из нашей группы без последнего числа.

Иногда ВК начинает дурить и не возвращает список постов за приемлемое время. В этом случае, нам нужно отвалиться по таймауту и пропустить проверку. Можно, конечно, попробовать ещё раз, но мы люди не настойчивые:)

def get_data () : timeout = eventlet.Timeout(10 ) try : feed = requests.get(URL_VK) return feed.json() except eventlet.timeout.Timeout: logging.warning("Got Timeout while retrieving VK JSON data. Cancelling..." ) return None finally : timeout.cancel()

Суть простая: получилось - возвращаем объект с постами. Не получилось - возвращаем None. Теперь перейдем непосредственно к парсингу. Алгоритм будет такой:

  1. Открываем файл, хранящий последний известный номер верхнего поста.
  2. Если метод get_data() вернул объект с записями, начинаем проходить по нему со второго элемента, т.к. первый - какое-то неизвестное мне рандомное число.
  3. Если номер поста меньше или равен последнему известному - завершаем обход.
  4. Проверяем наличие закрепленного поста. Если таковой есть, то передаем функции отправки сообщений все записи, кроме закрепленной. Иначе - просто передаем все.
  5. У каждой проверяемой записи забираем ID, подставляем рядом с BASE_POST_URL и получаем полный ID записи.
  6. Отправляем его в канал.
  7. Как только обход завершился, берем номер первой (второй, если первая - закрепленная) записи и записываем в файл поверх старого значения.
  8. Засыпаем или завершаемся.

По поводу п.8: дополнительно предусмотрим в нашей программе два режима: в первом режиме скрипт постоянно работает, засыпая после каждой итерации на 4 минуты; во втором режиме скрипт просто завершает работу, что позволяет ставить его в планировщик cron . В определении режима нам поможет константная переменная SINGLE_RUN, которую надо не забыть указать где-нибудь вверху.

def send_new_posts (items, last_id) : for item in items: if item["id" ] <= last_id: break link = "{!s}{!s}" .format(BASE_POST_URL, item["id" ]) bot.send_message(CHANNEL_NAME, link) # Спим секунду, чтобы избежать разного рода ошибок и ограничений (на всякий случай!) time.sleep(1 ) return def check_new_posts_vk () : # Пишем текущее время начала logging.info(" Started scanning for new posts" ) with open(FILENAME_VK, "rt" ) as file: last_id = int(file.read()) if last_id is None : logging.error("Could not read from storage. Skipped iteration." ) return logging.info("Last ID (VK) = {!s}" .format(last_id)) try : feed = get_data() # Если ранее случился таймаут, пропускаем итерацию. Если всё нормально - парсим посты. if feed is not None : entries = feed["response" ] try : # Если пост был закреплен, пропускаем его tmp = entries["is_pinned" ] # И запускаем отправку сообщений send_new_posts(entries, last_id) except KeyError: send_new_posts(entries, last_id) # Записываем новый last_id в файл. with open(FILENAME_VK, "wt" ) as file: try : tmp = entries["is_pinned" ] # Если первый пост - закрепленный, то сохраняем ID второго file.write(str(entries["id" ])) logging.info("New last_id (VK) is {!s}" .format((entries["id" ]))) except KeyError: file.write(str(entries["id" ])) logging.info("New last_id (VK) is {!s}" .format((entries["id" ]))) except Exception as ex: logging.error("Exception of type {!s} in check_new_post(): {!s}" .format(type(ex).__name__, str(ex))) pass logging.info(" Finished scanning" ) return

Осталось дело за малым - написать логику запуска всего процесса и инициализировать логгер, который будет писать в текстовый файлик обо всех событиях в жизни бота:

if __name__ == "__main__" : # Избавляемся от спама в логах от библиотеки requests logging.getLogger("requests" ).setLevel(logging.CRITICAL) # Настраиваем наш логгер logging.basicConfig(format="[%(asctime)s] %(filename)s:%(lineno)d %(levelname)s - %(message)s" , level=logging.INFO, filename="bot_log.log" , datefmt="%d.%m.%Y %H:%M:%S" ) if not SINGLE_RUN: while True : check_new_posts_vk() # Пауза в 4 минуты перед повторной проверкой logging.info(" Script went to sleep." ) time.sleep(60 * 4 ) else : check_new_posts_vk() logging.info(" Script exited.\n" )

Перед запуском бота, создадим вручную файл last_known_id.txt и впишем в него один из последних числовых ID, в моём случае это было чудесное число 1893. После включения бота, в зависимости от значения SINGLE_RUN, он будет либо постоянно работать, проверяя каждые 4 минуты на наличие новых постов, либо завершится после окончания первой проверки. Для себя я выбрал второй вариант, добавив скрипт в cron.

На сегодня всё, теперь вы можете легко и просто настроить автопостинг записей практически из любой группы ВК в свой канал.

Это обновление стало одним из самых серьезных с момента запуска KUKU.io. Со времени последнего обновления, в котором мы сфокусировались на особенностях для , мы добавили невероятное количество очень полезных особенностей для успешного маркетинга в социальных сетях, и сделали все, чтобы UX/UI был еще более удобным, интуитивным и функциональным.

Меньше абстрактных фраз, сразу же переходим к тому, что же мы подготовили для вас. В свежем обновлении KUKU.io, вы можете:

  • Наслаждаться удобным отложенным постингом в Telegram Messenger
  • Ставить «Лайк» и делиться публикациями с нескольких аккаунтов одновременно
  • Редактировать превью ссылок и прикреплять картинки к посту из предложенных
  • Модерировать публикации в улучшенном таймлайне
  • Экспортировать аналитику социальных сетей в PDF и PNG
  • Сокращать ссылки с симпатичным lnk.al

И так начнем с того:

Отложенный постинг в Телеграмм с KUKU.io

Здесь, в KUKU.io, мы фанаты идеи о том, что аудитория социальных сетей, как и все продвижение в соцсетях, медленно перебирается в мессенджеры. И не только мы, ведь уже на следующей неделе Bot Store официально появится в мессенджере Facebook, а мировые СМИ прозвали запуск самым значимым событием с момента релиза App Store. Тем временем, Telegram вырос до 100 миллионов активных пользователей в месяц, став сильным инструментом продвижения, и развил идею революции мессенджеров, запустив каналы, групповые чаты и собственных ботов .

Кстати, подписывайтесь на нас в Telegram: @smmkukuio

Каналы могут стать идеальной альтернативой страницам компаний и блогов в социальных сетях и элементом стратегии продвижения с engagement rate и CTR, которому Facebook, Вконтакте и другие могут тихо завидовать. И вот почему мы считаем, что для нашего сервиса для SMM добавление мессенджера Телеграмм в список поддерживаемых платформ — серьезный шаг вперед.

Теперь вы можете создавать контент, адаптировать его и публиковать ваши посты в Telegram Messenger , как и в другие социальные сети. Вот как это просто:

Начать публиковать в Telegram через KUKU.io сейчас!

Лайкайте и репостите контент в соцсетях — методы продвижения в социальных сетях

Знаете, что вам может понравится даже немного больше, чем интеграция с Telegram Messenger? Возможность ставить лайк и репостить контент от имени других аккаунтов в один клик.

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

Теперь вы можете подключить несколько аккаунтов одной социальной сети к KUKU.io и лайкать и делиться контентом от имени всех аккаунтов, выставляя задержку во времени между действиями.

Эта особенность доступна только в Расширенной версии. Улучшить сейчас!

Редактирование превью ссылки

Мы получили много просьб добавить в KUKU.io эту функциональную особенность, и сегодня мы рады объявить о ее выходе. С этого момента, вы можете редактировать превью ссылок и публиковать модифицированные превью в Facebook, Tumblr и Linkedin. Тестируйте, чтобы выявить для себя действенные превью, как часть стратегии продвижения контента.

Улучшения таймлайна публикаций в социальных сетях

С вашей помощью, мы всегда можем понять, где нам стоит улучшить UX/UI, чтобы KUKU.io стал еще более удобным в использовании. В этом обновлении, мы сфокусировались на улучшениях таймлайна отложенных и опубликованных постов в соцсети.

С этого момента, если вы публикуете пост в несколько аккаунтов социальных сетей, эти посты будут собраны в группу в истории публикаций, позволяя экономить место и упрощая навигацию. Чтобы развернуть группу публикаций, просто кликните на нее, и кликните повторно, чтобы свернуть. Если группа постов еще не была опубликован, здесь же вы можете отредактировать необходимые элементы.

Также теперь вы можете искать посты по ключевым словам и переходить к постами в соцсетях по ссылке.

Предложенные изображения и drag-n-drop

Изображения, несомленно, являются эффективным элементом продвжения в социальных сетях.

Доступная в этом обновлении особенность, которая у меня лично вызывает полный восторг, — новый вид и расширенные функциальнальности окна добавления картинок к постам. Если вы добавляете в ваш пост ссылку, вам не нужно переходить по ней, чтобы найти и сохранить на девайс картинку, которую вы хотите прикрепить к посту. Все доступные на этой странице изображения будут автоматически предложены , и все, что вам остается сделать, — выбрать нужные картинки из таблицы.

Link all! Сокращение ссылок с lnk.al как часть smm стратегии

В этом обновлении, мы добавили сокращение ссылок с помощью lnk.al , которое, на наш вкус, смотрится намного лучше стандартного goo.gl. Но причина, по которой lnk.al появился в KUKU.io, не в том, что он симпатичен (хотя так и есть!). С его помощью, в следующих обновлениях мы сможем добавить в аналитику маркетинга социальных сетей новые важные графики, иллюстрирующие количество кликов и выдающие дополнительную информацию о вовлеченной аудитории.

Экспортируйте аналитику соцсетей в PDF и PNG

Если вы хотите показать свои результаты членам команды и клиентам, вам не надо давать им права для входа. Достаточно просто экспортировать аналитику соцсетей в PDF или PNG .

СЕКРЕТНАЯ ОСОБЕННОСТЬ, которая будет доступна совсем скоро, — поддержка Instagram. Я это сказала?

Мы продолжаем работать над обновлениями и новыми особенностями, опираясь на ваши крутые отзывы (пожалуйста, продолжайте писать нам ваши идеи, мы их очень любим! ?). И конечно же, мы продолжаем работать над разработкой командного плана нашего SMM сервиса.

Отличного дня и продуктивной работы, друзья!

Автоматическая трансляция сообщений между сайтами, блогами и соцсетями может осуществляться с помощью отдельного программного обеспечения, однако чаще всего такая функция реализовывается непосредственно на серверах сайтов. Автопостинг в Телеграмм выполняется с помощью роботизированных аккаунтов (ботов), которые призваны упростить взаимодействие пользователя с мессенджером, мгновенно передавая серверу команды для выполнения той или иной операции.


Автопостинг в Телеграмм выполняется с помощью роботизированных аккаунтов

Зачем нужна автоматическая публикация записей с других ресурсов

Само по себе ведение определенной страницы в соцсети накладывает на ее владельца некоторые обязательства. Чтобы количество подписчиков неизменно росло или, как минимум, оставалось на том же уровне, необходимо постоянно обновлять контент, предоставляя информацию, которая может заинтересовать посетителей. Работа контент-менеджера достаточно трудоемкая, а если нужно поддерживать не одну, а несколько страниц из разных соцсетей, сложность задачи увеличивается многократно.
Наличие функции автопостинга в Телеграмм позволяет соединить каналы и группы с внешними источниками. То есть при обновлении информации, например в Twitter или ВКонтакте, она тут же будет появляться и в Telegram. Для чего это нужно?


Публикация записей с других ресурсов происходит автоматически

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

Автопостинг в Телеграмм из Twitter, RSS, VK, YouTube

Перейдем непосредственно к одному из методов реализации автопостинга в данном мессенджере. Для этого воспользуемся «услугами» чат-бота . Инструкция по настройке автоматической трансляции с помощью этого робота выглядит следующим образом:


Реализация автопостинга в мессенджере из других социальных сетей
      1. Находим в поиске бот , нажимаем на его имя и начинаем с ним диалог.
      2. Чтобы реализовать функцию автоматической трансляции записей, пользователю будет предложено создать своего бота. Для этого вводим команду /addbot или выбираем пункт «Добавить нового бота» из меню, которое расположено внизу экрана.
      3. В диалоговом окне появится инструкция по созданию бота, согласно которой необходимо выполнить следующие действия:
        1. начать диалог с ботом ;
        2. ввести команду /newbot;
        3. придумать имя (на любом языке) и ссылку (на английском), которая должна обязательно иметь окончание «bot», например (это название будем использовать в дальнейшем в качестве примера);
        4. получить от API токен (ключ) и скопировать его;
        5. перейти обратно в диалог с и вставить ключ в поле ввода сообщений.
      4. После корректного ввода ключа появится сообщение о том, что ваш токен принят, а бот создан и настроен. Дальше работа ведется с новосозданным ботом.
      5. Создаем диалог с , для чего нажимаем его имя.
      6. Посылаем боту команду /autoposting.
      7. Открывается меню, в котором можно выбрать источник трансляции. Доступны следующие сервисы: Twitter, YouTube, VK, RSS.
      8. После выбора сервиса, предлагается указать ссылку на собственный аккаунт в нем.
      9. Делаем администратором канала или группы, для которых создается автотрансляция.

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

Простой метод реализации автопостинга со страниц и групп ВКонтакте

Существует еще один робот, который позволяет автоматизировать публикацию записей. Его имя — . Несмотря на то что он адаптирован исключительно под трансляцию из ВКонтакте, для многих русскоязычных пользователей мессенджера этого вполне достаточно. Тем более что настройка занимает не более 5 минут. Для этого нужно:

  1. Найти в поиске , нажать на его имя и начать с ним диалог.
  2. Для настройки автопостинга пользователю будет предложено перейти по ссылке и следовать указаниям.
  3. При переходе по ссылке в браузере откроется страница, где будет указан код, например /startL5D69NPu0KJaqybR, который нужно скопировать.
  4. Необходимо вернуться обратно в мессенджер и отправить сообщение с кодом роботу .
  5. Если код введен верно, пользователю придет уведомление об успешной авторизации и будет предложено вернуться на страницу браузера.
  6. По возвращению в браузер появится диалоговое окно, в котором необходимо:
    1. в соответствующих полях указать название группы ВКонтакте и канала Телеграмм;
    2. нажать кнопку «Сохранить».
  7. Последний этап – добавление в администраторы канала (в противном случае робот не сможет отправлять туда записи).

Реализация этой функции из социальной сети ВКонтакте

Для работы автопостинга нужно, чтобы группа/страница VK была открыта всем пользователям интернета. Робот мониторит контент группы ВКонтакте каждые 10 минут и при появлении новых постов сразу пересылает их в Телеграмм.
Методы по настройке автоматизированной трансляции, указанные выше, являются одними из наиболее простых и доступны любому пользователю Телеграмм. Главное, что они позволяют реализовать данную функцию достаточно быстро и без единой строчки кода, поэтому знаний в области программирования не потребуется.