Вк бот для отправки сообщений: Как отправлять лс в вк с помощью бота? — Хабр Q&A

Как делать массовые рассылки подписчикам во ВКонтакте и Телеграме через сервис Sendsay

Объясняем, как работать с массовыми рассылками «ВКонтакте», Telegram и о чем важно помнить до запуска

Правила рассылок «ВКонтакте»

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

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

Как подключить сообщество к сервису рассылок

Рассылки «ВКонтакте» мало отличаются от других привычных рассылок. Они приходят от лица сообществ в личные сообщения тем пользователям, которые дали на это свое согласие.

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

Разрешите отправку сообщений в самом сообществе

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

  • Откройте раздел Подписчики → VK и нажмите «Добавить сообщество»
  • Нажмите «Подключить» рядом с нужным вам сообществом
  • Кликните «Разрешить» после того, как откроется страница ВКонтакте и приложение Sendsay запросит доступ к сообществу. После этого начнется импорт подписчиков в базу Sendsay, он займет некоторое время

При импорте переносятся только имя, фамилия, город, страна, пол и id страницы — без номера телефона и адреса почты. После того, как сообщество подключено, новые участники будут добавляться в базу автоматически.

Также важно знать, что сообщество можно подключить только к одному аккаунту Sendsay.

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

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

Зачем нужна двухфакторная аутентификация

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

Чтобы подключить 2FA, зайдите в раздел «Управление сообществом», затем в «Настройки» и кликните на вкладку «Участники». После этого активируйте обязательное подтверждение входа для руководителей сообщества. Те, у кого не подключена двухфакторная аутентификация, будут ограничены в действиях внутри группы. Например, они не смогут публиковать записи на стене.

Как работает 2FA: если у системы возникают сомнения о том, кто пытается зайти в сообщество под видом админа, она запросит код подтверждения, высланный на указанный в группе email или номер мобильного телефона. Каждый раз проходить эту процедуру не придется — обычно двухфакторная аутентификация срабатывает, когда вход осуществляется с нового устройства.

Внимательно отнеситесь к данным руководителей сообщества, которые вы указываете. Номер телефона, email и фото должны быть актуальными. Если вы увольняете сотрудника, который занимается администрированием сообщества, не забудьте удалить и/или поменять данные. Это очень пригодится на случай того, если доступ к сообществу все же будет утерян, — служба поддержки поможет по ним восстановить ваши права.

Что рассылать подписчикам в Telegram и «ВКонтакте»

Информирование

Компании, которые занимаются доставкой, любят использовать соцсети и мессенджеры исключительно для информирования клиентов. Так делают Ozon, Boxberry, Ponyexpress и многие другие. Это дешевле звонков и SMS, а также есть вероятность, что эти сообщения быстрее прочитают. Объяснить это просто: люди чаще заглядывают в соцсети и мессенджеры, чем проверяют свой email. Информационные рассылки бывают разные по типу подачи сообщения. В большинстве случаев пользователь просто получает сообщение со статусом заказа. Добавьте в свою транзакционную рассылку больше креатива.

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

СДЭК интегрировал в чат бота, который позволяет клиенту выбрать время и дату доставки и узнать статус заказа одним кликом.

Игры

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

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

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

Xiaomi предлагают стикеры за прохождение простого квеста: человек должен найти кодовую фразу на стене сообщества и написать ее в чат.

Еще немного про геймификацию. В ВКонтакте есть специальные сервисы для создания конкурсов, которые работают на автопилоте. ActiveBot — один из них. Механика работы сервиса простая: выбираете конкурс, настраиваете его под свою группу, запускаете. С помощью такого сервиса увеличивается охват у страницы, растет активность и вовлеченность. Используйте сервис только после того, как заполните группу постами и наберете хотя бы 500 активных подписчиков.

Выбирайте конкурс под тип вашего бизнеса.

Боты

Чат-боты — тема, которая заслуживает отдельного упоминания.

Это современный интерактивный инструмент, который здорово помогает разнообразить общение с подписчиками.

Боты могут выполнять как информационную функцию, так и игровую. Они умеют отвечать на вопросы, предлагать принять участие в играх, рассказывать о компании и продуктах.

Это гибкие программы, которые можно приспособить практически под любые задачи. Здесь главное — найти человека, который напишет нужный вам код.Ресторан FАРШ еще в период пандемии сделал бота в Telegram, который показывает меню, принимает заказы и копит баллы лояльности. То есть фактически полный цикл сделки с клиентом компания перенесла в мессенджер — очень удобно. Для бота от ресторана FАРШ подойдет выражение: если пользователь не идет на сайт, то сайт сам идет к пользователю 🙂

Чат-бот ресторана FАРШ: помогает узнать, как пройти, показывает меню, оформляет заказ, копит баллы лояльности и не только.

Похожего по функционалу бота сделали HH.ru — правда, с другой начинкой. Бренд использует этот инструмент и во «ВКонтакте», и в Telegram. Как и в случае с рестораном FАРШ, бот практически полностью заменяет собой сайт: с его помощью можно зайти в личный кабинет, искать, просматривать предложенные вакансии и даже откликаться на них.

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

Чем отличаются рассылки VK и Telegram

Главное отличие — рассылку в Telegram можно организовать только через бота.

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

  • Скопировать токен для доступа к боту
  • Открыть раздел «Подписчики» в вашем аккаунте Sendsay, перейти во вкладку Telegram и нажать на кнопку «Подключить бота»

Подключите бота

Необязательно нанимать разработчика для написания чат-бота.

Если вам не нужен сложный функционал, вы можете просто создать его прямо в Telegram. Для этого найдите @BotFather — это верифицированный бот, который умеет создавать других ботов и управлять ими, напишите /start в поле для сообщения и следуйте инструкции.

BotFather

После того, как бот создан и подключен к сервису рассылок, можно создавать рассылку. Для этого нужно зайти в раздел «Рассылки», перейти в «Черновики», нажать плюсик и выбрать Telegram. О том, как дальше грамотно подготовить рассылку, читайте в нашем обучающем материале.

Telegram в Sendsay

Чего ждать

Аудитория «ВКонтакте» и Telegram стремительно растет. В середине марта руководство ВК сообщило, что количество регистраций в соцсети увеличилось в 4 раза. Блокировка Instagram (принадлежит Meta, признанной в России экстремистской организацией) также инициировала приток новых пользователей в мессенджере и новых подписчиков на Telegram-каналы.

Работа WhatsApp пока не ограничена, но уже понятно, что в новых условиях эта площадка значительно потеряла в надежности и в репутации. Поэтому, даже если вы еще находитесь в ожидании, что все события последних недель «откатятся» назад, — попробуйте начать осваивать новые инструменты. На таких экспериментах вы точно ничего не потеряете — только приобретете.

Над статьёй работали:

Похожие статьи

Telegram-канал как площадка для маркетинга

12.04.2022

Присоединяйтесь к нам в соцсетях

Пишем бота пересылки сообщений из VK в Telegram на Python

 

Очень часто бывает что у вас группа в vk.com и вам бы хотелось завести канал в телеграмм но постить вручную сообщения в два источника не очень удобно. Ниже мы рассмотрим бота для пересылки сообщений из вконтакте в телеграм.

Регистрируем бота в Telegram

Добавляем в список контактов @BotFather

Отправляем ему команду:

/newbot

Придумываем имя боту

Alright, a new bot. How are we going to call it? Please choose a name for your bot.
Придумываем username, должно заканчиваться обязательно на ‘bot’

Good. Now let’s choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
Все, бот зарегистрирован, самое важное это последние сообщение с токеном бота, ни кому не сообщайте его т.к. зная токен можно полностью управлять ботом.

Done! Congratulations on your new bot. You will find it at t.me/XXXXbot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you’ve finished creating your cool bot, ping our Bot Support if you want a better username for it.
Just make sure the bot is fully operational before you do this.

Use this token to access the HTTP API:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

For a description of the Bot API, see this page: https://core.telegram.org/bots/api

Пишем бота Telegram

Создаем в нашем проекте файл settings.ini и добавляем в него настройки подключения нашего будущего бота пересылки сообщений из vk.

[Settings]
last_id = 123
include_link = true
preview_link = false
[VK]
login = login
password = pass
domain = oldlentach
count = 30
[Telegram]
bot_token = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
channel = @test
где:
last_id — последний ID сообщения ленты вконтакте, можно оставить 123
include_link — вставлять ли ссылки
preview_link — использовать ли предпросмотр ссылок

login — ваш логин аккаунта вконтакте
password — ваш пароль аккаунта вконтакте
domain — группа или id сообщества вконтакте
count — количество последних забираемых сообщений сообщество (ограничение API вконтакте, максимум 100 за один запрос)

bot_token — токен бота полученный выше
channel — название канала в телеграмме для публикации ботом, важно помнить что для публикации сообщений в канале ботом, его нужно добавить администратором канала

Нам понадобятся библиотеки:

vk_api
pyTelegramBotAPI

configparser и logging из стандартной библиотеки Python, и конечно сам Python, на момент написания статьи у меня была версия 3.

6.2

Устанавливаем библиотеки через pip желательно в virtualenv, в консоли набираем:

pip install vk_api
pip install pyTelegramBotAPI
Создаем файл vk_to_tg.py и начинаем в него писать.

Импортируем модули:

import os
import sys
import vk_api
import telebot
import configparser
import logging
from telebot.types import InputMediaPhoto
Считываем данные из settings.ini

config_path = os.path.join(sys.path[0], 'settings.ini')
config = configparser.ConfigParser()
config.read(config_path)
LOGIN = config.get('VK', 'LOGIN')
PASSWORD = config.get('VK', 'PASSWORD')
DOMAIN = config.get('VK', 'DOMAIN')
COUNT = config.get('VK', 'COUNT')
BOT_TOKEN = config.get('Telegram', 'BOT_TOKEN')
CHANNEL = config.get('Telegram', 'CHANNEL')
INCLUDE_LINK = config.getboolean('Settings', 'INCLUDE_LINK')
PREVIEW_LINK = config.
getboolean('Settings', 'PREVIEW_LINK')
Инициализируем телеграмм бота vk телеграмм бота

bot = telebot.TeleBot(BOT_TOKEN)
Получаем данные из vk.com для последующей обработки

# Получаем данные из vk.com
def get_data(domain_vk, count_vk):
    vk_session = vk_api.VkApi(LOGIN, PASSWORD)
    vk_session.auth()
    vk = vk_session.get_api()
    # Используем метод wall.get из документации по API vk.com
    response = vk.wall.get(domain=domain_vk, count=count_vk)
    return response
Проверяем и извлекаем данные по условиям перед отправкой

# Проверяем данные по условиям перед отправкой
def check_posts_vk():
    response = get_data(DOMAIN, COUNT)
    response = reversed(response['items'])

    for post in response:

        # Читаем последний извесный id из файла
        id = config.
get('Settings', 'LAST_ID')         # Сравниваем id, пропускаем уже опубликованные         if int(post['id']) <= int(id):             continue         print('-----------------------------------------')         print(post)         # Текст         text = post['text']         # Проверяем есть ли что то прикрепленное к посту         images = []         links = []         attachments = []         if 'attachments' in post:             attach = post['attachments']             for add in attach:                 if add['type'] == 'photo':                     img = add['photo']                     images.append(img)                 elif add['type'] == 'audio':                     # Все аудиозаписи заблокированы везде, кроме оффицальных приложений                     continue                 elif add['type'] == 'video':                     video = add['video']                     if 'player' in video:                         links. append(video['player'])                 else:                     for (key, value) in add.items():                         if key != 'type' and 'url' in value:                             attachments.append(value['url'])         if INCLUDE_LINK:             post_url = "https://vk.com/" + DOMAIN + "?w=wall" + \                 str(post['owner_id']) + '_' + str(post['id'])             links.insert(0, post_url)         text = '\n'.join([text] + links)         send_posts_text(text)         if len(images) > 0:             image_urls = list(map(lambda img: max(                 img["sizes"], key=lambda size: size["type"])["url"], images))             print(image_urls)             bot.send_media_group(CHANNEL, map(                 lambda url: InputMediaPhoto(url), image_urls))         # Проверяем есть ли репост другой записи         if 'copy_history' in post:             copy_history = post['copy_history']             copy_history = copy_history[0]             print('--copy_history--')             print(copy_history)             text = copy_history['text']             send_posts_text(text)             # Проверяем есть ли у репоста прикрепленное сообщение             if 'attachments' in copy_history:                 copy_add = copy_history['attachments']                 copy_add = copy_add[0]                 # Если это ссылка                 if copy_add['type'] == 'link':                     link = copy_add['link']                     text = link['title']                     send_posts_text(text)                     img = link['photo']                     send_posts_img(img)                     url = link['url']                     send_posts_text(url)                 # Если это картинки                 if copy_add['type'] == 'photo':                     attach = copy_history['attachments']                     for img in attach:                         image = img['photo']                         send_posts_img(image)         # Записываем id в файл         config. set('Settings', 'LAST_ID', str(post['id']))         with open(config_path, "w") as config_file:             config.write(config_file)
Отправляем посты в телеграмм

Если это текст:

# Текст
def send_posts_text(text):
    if text == '':
        print('no text')
    else:
        # В телеграмме есть ограничения на длину одного сообщения в 4091 символ, разбиваем длинные сообщения на части
        for msg in split(text):
            bot.send_message(CHANNEL, msg, disable_web_page_preview=not PREVIEW_LINK)
Если сообщение длинное то разбиваем его на несколько:

def split(text):
    if len(text) >= max_message_length:
        last_index = max(
            map(lambda separator: text.rfind(separator, 0, max_message_length), message_breakers))
        good_part = text[:last_index]
        bad_part = text[last_index + 1:]
        return [good_part] + split(bad_part)
    else:
        return [text]

Если это изображение:

# Изображения
def send_posts_img(img):
    # Находим картинку с максимальным качеством
    url = max(img["sizes"], key=lambda size: size["type"])["url"]
    bot. send_photo(CHANNEL, url)
И в самом конце инициализируем наш скрипт:

if __name__ == '__main__':
    check_posts_vk()
Репозиторий бота на github.com

Все, удачного Вам написания собственных Telegram ботов на Python

Как начать общение через бота Telegram

Создать бота Telegram

  1. Используйте @BotFather* для создания бота Telegtam. Нажмите «Пуск» и выберите команду /newbot.

    *@BotFather — это бот в Telegram, который управляет всеми ботами, которых вы создаете через свой аккаунт в Telegram.

  2. Выберите имя для своего бота.
  3. Затем создайте имя пользователя (оно будет отображаться в ссылках). Оно должно быть написано латиницей, может содержать цифры и знаки подчеркивания и должно заканчиваться на Bot. Имя пользователя должно быть уникальным. Если имя пользователя уже занято, @BotFather сообщит об этом.
  4. Поздравляем, вы создали Telegram-бота! Вам понадобится токен бота Telegram, чтобы настроить интеграцию бота с Messaggio.

Свяжите бота с вашей учетной записью Messaggio, создав идентификатор отправителя Telegram

  1. Войдите в свою панель инструментов Messaggio, перейдите в раздел «Отправители» и нажмите «Создать».
  2. В поле Канал выберите Telegram из выпадающего списка. Скопируйте токен бота Telegram и добавьте его в соответствующие поля на стороне Messaggio.

Создать шаблон сообщения

  1. В разделе Действия отправителя выберите Создать шаблон с отправителем.
  2. Выберите подходящий макет шаблона. Добавьте кнопки и ссылки. Щелкните Создать.
  3. Отправить шаблон сообщения на модерацию. Служба поддержки Messaggio проверит шаблон на соответствие правилам Telegram в течение 2 рабочих дней. Рядом с одобренным шаблоном появится статус ACTIVE.

Возможности Telegram-бота для обмена сообщениями в Messaggio

Бот Telegram позволяет общаться с клиентами 3-мя способами:

  • Отправка сообщений от имени бота в канал Telegram.
  • Отправка сообщений от имени бота в группу Telegram.
  • Отправка сообщений в личный Telegram-чат с пользователем, подписавшимся на бота.

Давайте рассмотрим, как настроить Telegram бота для каждого способа связи.

Отправка сообщений в Telegram-канал / Telegram-группу

Добавьте бота в Telegram-канал/Telegram-группу

  1. Зайдите в Telegram-канал/Telegram-группу, в которую собираетесь отправлять сообщения.
  2. Нажмите на название канала и перейдите в раздел Подписчики.
  3. Нажмите кнопку «Добавить подписчиков». Найдите в поиске ранее созданного бота и нажмите Добавить.

Теперь бот может отправлять сообщения в Telegram канал/группу от своего имени.

Запустить рассылку сообщений подписчикам канала/группы

  1. В личном кабинете Messaggio перейдите в раздел «Рассылки» и нажмите «Создать — Регулярная рассылка».
  2. Придумайте название рассылки и выберите созданный ранее шаблон сообщения Telegram.
  3. Назначение контактной группы для отправки. В списке контактных групп вы увидите автоматически созданную группу в формате Телеграм-канал_ИмяПользователяБот/Telegram group_ИмяПользователяБот. Выберите группу контактов и нажмите Добавить выбранное.
  4. Выберите в списке созданную рассылку Telegram и нажмите Начать отправку. Установите время доставки сообщений и нажмите Запустить рассылку.

Сообщения будут доставлены в канал Telegram/группу Telegram от имени бота в указанное вами время.

Обмен сообщениями в чате Telegram с пользователем (прямые сообщения)

Чтобы бот Telegram мог отправлять сообщения в приватный чат с пользователем, пользователь должен быть подписан на бота. Пользователь считается подписанным на бота Telegram, если он инициировал общение с ботом, запустив его и поделившись номером телефона.

  1. В личном кабинете Messaggio перейдите в раздел «Рассылки» и нажмите «Создать — Регулярная рассылка».
  2. Придумайте название рассылки и выберите созданный ранее шаблон сообщения Telegram.
  3. Назначение контактной группы для отправки. В списке контактных групп вы увидите автоматически созданную группу в формате Telegram chats_UsernameBot (хранит контактные данные всех пользователей, которые писали сообщения боту и делились контактами). Выберите группу контактов и нажмите Добавить выбранное.
  4. Выберите в списке созданную рассылку Telegram и нажмите Начать отправку. Установите время доставки сообщений и нажмите Запустить рассылку.

Рассылка будет доставляться от имени бота в чаты Telegram всех пользователей, подписавшихся на бота в указанное вами время.

  • Было ли это полезно?
  • ДаНет

Следующая запись: Как создать шаблон сообщения

Telegram бот Manybot — @manybot

β

Добавить в BotoStore

Добавлено 128,2 тыс. ботов · проверено · 15,6 тыс. онлайн

Telegram15.7k

Открыть в Telegram Открыть ссылку

🔥Manybot позволяет создавать собственных ботов. Отправляйте сообщения, создавайте собственные команды и меню. Нажмите Отправить сообщение, чтобы начать

Что умеет этот бот? 🔥 Manybot позволяет создавать собственных ботов.

✅ Отправляйте сообщения своим подписчикам.
✅ Создание пользовательских команд.
✅ Создание пользовательских меню и подменю.
✅ Автопост из RSS, Twitter, ВКонтакте и YouTube.
✅ Пользовательские формы для заказов и обратной связи.
✅ 2 000 000 000+ сообщений отправлено.
✅ Создано 100 000 ботов.

Нажмите Старт 👇, чтобы создать своего первого бота!

/start

Добро пожаловать! Пожалуйста, выберите язык.

Команды бота

Команда всегда должна начинаться с символа «/».

/addbot
создать нового бота для трансляции
/newpost
отправить сообщение своим подписчикам
/setdescription
изменить описание вашего бота
/subscribers 90 161
посмотри сколько у тебя подписчиков
/ автопостинг
настроить автопостинг из Twitter, YouTube, VK, RSS
/botlang
настроить язык бота
/admins
управлять администраторами ваших ботов
/lang
установить язык Manybot
/deletebot
удалить бота
/help
90 162 просмотреть все доступные команды
/cancel
отменить текущую операцию
Поделиться этот бот
См.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Закрыть
Menu