Как сделать бота в своей группе. Как сделать бот вконтакте

На самом деле, здесь нет ничего сложного. Главное продумать действия (команды) для бота.

Для своего я сделала небольшое меню из 3 пунктов – где можно забрать полезный подарок, получить доступ к моему бесплатному курсу по партнеркам и связаться со мной в личке.

Выглядит эта менюшка следующим образом:

Самого бота я создала через платформу Manybot. Сделать это можно бесплатно, однако в диалоге с вашим ботом пользователи будут видеть ссылку на разработчика.

Какие возможности есть у бота?

1) Создание пользовательских команд и ответов на них.

2) Создание меню из команд. Это удобно, так как пользователям не надо вводить команды, а можно использовать для навигации готовое меню.

3) Возможность отправлять сообщения подписчикам (в том числе отложенные), просматривать количество подписчиков в боте.

4) Несколько языков интерфейса, в том числе русский.

5) Можно настроить автопостинг в бота из rss блога или сайта, а также с YouTube-канала, ВК, Твиттер.

Как создать своего Телеграм-бота?

Я записала пошаговую видеоинструкцию – пример создания простого бота с меню:

Посмотреть на моего бота в действии вы можете здесь . В диалоге с ним нажмите «Начать» (Start), дальнейшие действия он вам подскажет.

Итак, для начала создания своего Телеграм-бота, зайдите на сайт manybot.io, там нажмите по кнопке «Создать бота». Вас перебросит на первоначальные инструкции.

Нужно перейти на Manybot в Телеграме и нажать «Начать» (Start) в чате с ботом, чтобы получить дальнейшие инструкции.

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

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

Первым делом вводим команду /addbot или просто жмем по ней в полученном от бота сообщении.

Следующим шагом нужно напечатать в диалоге с BotFather команду /newbot и следовать дальнейшим подсказкам. А именно:

1) На английском нам предлагают указать название (имя) своего будущего бота. Я его назвала ViktoriaHelps и отправила это название в диалоге BotFather.

3) После этого получила сообщение с поздравлением, что мой бот создан, ссылку на него в Телеграм, а также токен, который мне нужно скопировать.

В ответ получаю сообщение о том, что мне нужно добавить описание (приветственное сообщение) для своего бота. Это описание пользователь будет видеть в чате с ботом, когда перейдет на него.

Отправив Manybot описание, вижу сообщение, что мой бот успешно создан. Чтобы он появился в контактах слева, перейдите по ссылке на него и нажмите в чате «Начать».

Кстати, описание бота в любое время можно отредактировать. Делается это через команду /setdescription в диалоге с Manybot.

Настраиваем команды и меню в боте

В ответ получаем сообщение с описанием нашего бота (то, что мы указали на предыдущем шаге). Его же будут видеть и подписчики вашего бота.

В сообщении ниже отобразится меню для управления вашим ботом (его видите только вы, как владелец бота). Если это сообщение не появилось, вы можете вызвать его сами, введя в чат команду /help или выбрав раздел «Помощь» в меню бота.

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

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

Для этого в меню под полем ввода сообщения кликаем по пункту «Пользовательские команды».

Выбираем «Создать команду».

Указываем название нашей команды – оно должно быть латиницей и без пробелов. Название может содержать цифры и нижнее подчеркивание (для разделения слов). Перед командой используем значок слеш (косую черту) /.

Вводим команду в поле сообщения и жмем Enter.

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

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

Кстати, при создании команды мы можем добавить вопрос – обычный, развернутый, с вариантами ответа. Чтобы добавить вопрос, следуйте подсказкам бота.

Если вы хотите отредактировать или удалить команду, кликните по ней в меню.

Откроется новое меню, в котором вы сможете выбрать желаемое действие.

Например, выбираем редактирование. Здесь действия будут следующими:

1) Сначала нам нужно удалить предыдущий ответ на команду и подтвердить действие.

2) Затем нажать «Добавить сообщения к команде».

3) Вводим новый ответ, отправляем боту, сохраняем.

4) Получаем сообщение, что команда успешно отредактирована.

Чтобы вернуться к предыдущему меню, нажимаем «Назад».

Как добавить команду в меню бота?

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

Нажимаем по кнопке «Настроить главное меню».

Выбираем «Добавить пункт меню».

Выбираем нашу ранее созданную команду.

Вводим название для данного пункта меню и отправляем боту. Например, я назову «Перейти в блог».

А также кнопку возврата на предыдущее меню.

Как удалить команду из меню?

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

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

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

Например, я просто удалю пункт «Перейти в блог» из меню.

К сожалению, на данный момент нет хороших библиотек на Python2, для того, чтобы быстро создать чат-бота. Ниже я покажу, как легко можно написать примитивного чат бота для VK, используя API VK.


Статья написана для новичков, чтобы показать, что ничего сложного в написании ботов на Python нет.

Авторизация

Нам понадобится библиотека vk_api . Авторизоваться в вк можно двумя способами:
- Как пользователь
- Как сообщество


В первом случае надо будет ввести логин и пароль. Во втором случае в группе надо включить "Сообщения сообщества" и создать ключ доступа к API:





import time import vk_api vk = vk_api.VkApi(login = "login", password = "password") #vk_api.VkApi(token = "a02d...e83fd") #Авторизоваться как сообщество vk.auth()

Отправка сообщений

Теперь напишем короткую функцию, которая отправляет сообщение выбранному человеку.


P.S. Сообщество может отправлять сообщения только ранее писавшим пользователям.


def write_msg(user_id, s): vk.method("messages.send", {"user_id":user_id,"message":s})

В vk.method мы можем вызывать любой метод из VK API и передавать параметры в виде словаря.


В данном случае мы вызываем метод messages.send и в качестве параметров передаем id пользователя и текст сообщения.

Прием сообщений

Отлично! Отправлять сообщения мы научились, осталось научиться их принимать. Для этого нам нужен метод messages.get .


Несколько параметров, на которые стоит обратить внимание:


1) out - если этот параметр равен 1, сервер вернет исходящие сообщения.
2) count - количество сообщений, которое необходимо получить.
3) time_offset - максимальное время, прошедшее с момента отправки сообщения до текущего момента в секундах.
4) last_message_id - идентификатор сообщения, полученного перед тем, которое нужно вернуть последним (при условии, что после него было получено не более count сообщений)


values = {"out": 0,"count": 100,"time_offset": 60} vk.method("messages.get", values)

В нашем случае этот метод вернет все полученные сообщения за последние 60 сек, если их конечно было меньше 100, а если больше, то последние 100.


В итоге мы получаем список items:


{u"count": 3441, u"items": [{u"body": u"\u041f\u0438\u0448\u0435\u043c \u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0432\u043a!", u"date": 1491934484, u"id": 7387, u"out": 0, u"read_state": 0, u"title": u" ... ", u"user_id": 23107592}, {u"body": u"\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440!", u"date": 1491934479, u"id": 7386, u"out": 0, u"read_state": 0, u"title": u" ... ", u"user_id": 23107592}]}

Если объяснять простыми словами, то items - это то, что можно выделить в диалоге.



Финальный аккорд, делаем вечный цикл, где на каждое сообщение будем отвечать "Привет, Хабр!".


while True: response = vk.method("messages.get", values) if response["items"]: values["last_message_id"] = response["items"]["id"] for item in response["items"]: write_msg(item,u"Привет, Хабр!") time.sleep(1)

Чат-бот готов.


P.S. Мы запоминаем параметр last_message_id, чтобы в следующий раз обрабатывать только новые сообщения.


Полный код

# -*- coding: utf-8 -*- import time import vk_api vk = vk_api.VkApi(login = "login", password = "password") #vk_api.VkApi(token = "a02d...e83fd") #Авторизоваться как сообщество vk.auth() values = {"out": 0,"count": 100,"time_offset": 60} def write_msg(user_id, s): vk.method("messages.send", {"user_id":user_id,"message":s}) while True: response = vk.method("messages.get", values) if response["items"]: values["last_message_id"] = response["items"]["id"] for item in response["items"]: write_msg(item,u"Привет, Хабр!") time.sleep(1)


Получилось 17 строк кода. Успехов!


UPD 17.09.18:
К сожалению в новой версии (5.80) VK API был убран метод "messages.get" и данная статья потеряла актуальность. Теперь для создания ботов используйте систему longpoll. Пример на модуле vk_api для Python вы можете найти .

Продолжаем цикл статей посвященный написанию чат-ботов для социальных сетей на php. Прошлый раз мы создавали бота для Телеграм, а в этот раз я расскажу как сделать аналогичного бота для ВКонтакте. Забегая вперед скажу, что сегодня мы не будем использовать ВКшный PHP SDK и наш бот будет состоять лишь из одного файла (про SDK поговорим в другой раз).

Также, как и в случае с Телеграмм ботом нам потребуются минимальные навыки программирования на php, хостинг и ssl сертификат. Готовы? Приступим!

Что будет уметь наш бот?

Возможности бота ограничены лишь фантазией программиста (благо api вк многое позволяет), поэтому для примера наш бот будет уметь лишь самое простое, а именно:

  1. Отправлять уведомления при вступлении в сообщество;
  2. Отвечать в случае если пользователь отправил ЛС в чат группы;
  3. Отправлять уведомление в момент когда пользователь покидает группу.

Начинаем создавать бота

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

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

Теперь перейдем во вкладку Callback API->Настройки сервера. Здесь нас интересуют сразу 3 вещи: Адрес, Строка, которую должен вернуть сервер и Секретный ключ. Адрес пока пропустим (в целом вы можете сразу его заполнить если определились с тем, где будет лежать основной файл нашего php-бота, но поскольку сам файл еще не создан, то ВК будет ругаться, ибо сразу после ввода url соцсеть отправляет POST-запрос на проверку доступности бота по указанному адресу). Скопируем значение напротив «Строка, которую должен вернуть сервер» (confirmationToken). (в нашем случае это tt32e1 . Придумает Секретный ключ (secretKey). Не забываем нажать «Сохранить».

Итак, на выходе у нас должны быть где-то записаны 3 вещи:

  1. confirmationToken
  2. token
  3. secretKey

Теперь можно приступить к написанию php кода.

Как создать бота в ВК (кодинг на php)

Начинаем писать файл нашего бота ВКонтакте. Назовем его vk_bot.php. Напомню, что код необходимо писать в кодировке UTF-8 (без BOOM).

Определимся с константами:

if (!isset($_REQUEST)) {return;}
// Строка, которую должен вернуть сервер (См. Callback API->Настройки сервера)
$confirmationToken = "tt32e1";
// Ключ доступа сообщества (длинная строчка которую получили нажав "создать ключ")
$token = "тутбудетмногобуквицифр";
// Секретный ключ. (Задаем в Callback API->Настройки сервера)
$secretKey = "testKeyMyBot";

Теперь проверим поступившие данные:

// Получаем и декодируем уведомление
$data = json_decode(file_get_contents("php://input"));
// проверяем secretKey
if (strcmp($data->secret, $secretKey) !== 0 && strcmp($data->type, "confirmation") !== 0) {return;}

Используя switch проверим, что находится в поле «type» (какое событие сработало и в зависимости от этого сформируем ответ).

// Проверяем, что находится в поле "type"
switch ($data->type) {
// Запрос для подтверждения адреса сервера (посылает ВК)
case "confirmation":
echo $confirmationToken; // отправляем строку для подтверждения адреса
break;
// Если это уведомление о новом сообщении...
case "message_new":

$userId = $data->object->user_id;



$user_name = $userInfo->response->first_name;

$request_params = array(
"message" => "{$user_name}, Ваше сообщение получено!
В ближайшее время админ группы на него ответит.",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);



break;
}

Небольшое пояснение:

Когда юзер отправляет сообщение в чат с группой срабатывает событие. Событие представляет собой JSON, имеющий следующую структуру:

{«type»: <тип события>, «object»: <объект, инициировавший событие>, «group_id»: }

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

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

Теперь можно закачать наш с вами файл на сервер и заполнить в настройках адрес (если не сделали этого ранее).

Кроме этого необходимо перейти во вкладку «Типы событий» и поставить галочку напротив «Входящие сообщения».

Теперь можем проверить работу:

Как видим - все пашет. По сути у нас уже получилось сделать бота в вк. Давайте его немного прокачаем.

Добавим в конструкцию case еще 2 условия. Первое - отправит уведомлений в случае если человек вступил в нашу группу:

// Сработало событие - человек вступил в группу
case "group_join":
// получаем id автора сообщения
$userId = $data->object->user_id;
// через users.get получаем данные об авторе
$userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
// Вытаскиваем имя отправителя
$user_name = $userInfo->response->first_name;
// Через messages.send используя токен сообщества отправляем ответ
$request_params = array(
"message" => "Добро пожаловать в группу, {$user_name}!",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);
$get_params = http_build_query($request_params);
file_get_contents("https://api.vk.com/method/messages.send?". $get_params);
echo("ok"); // Возвращаем "ok" серверу Callback API
break;

Второе - аналогичное уведомление, но только в момент, когда человек покинет сообщество:

// Сработало событие - человек покинул группу
case "group_leave":
// получаем id автора сообщения
$userId = $data->object->user_id;
// через users.get получаем данные об авторе
$userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
// Вытаскиваем имя отправителя
$user_name = $userInfo->response->first_name;
// Через messages.send используя токен сообщества отправляем ответ
$request_params = array(
"message" => "{$user_name}, нам очень жаль, что вы покинули нашу группу!",
"user_id" => $userId,
"access_token" => $token,
"v" => "5.0"
);
$get_params = http_build_query($request_params);
file_get_contents("https://api.vk.com/method/messages.send?". $get_params);
echo("ok"); // Возвращаем "ok" серверу Callback API
break;

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

Чего нельзя делать ботам

Не лишним будет процитировать один из разделов справки ВК:

Теперь вы знаете как создавать своего бота в ВК. Исходники урока можно скачать тут. В следующий раз поговорим о работе с PHP SDK для вк-ботов. Если у вас остались вопросы - задавайте в комментах. И не забываем репостить и лайкать эту статью)

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

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


Есть два варианта решения этой задачи. Первый является самым сложным, для его реализации требуются знания в области программирования. Бота можно создать посредством Telegram API . Второй - гораздо более простой. Можно воспользоваться специальным ресурсом, который составит программу бота по вашим указаниям. Сайтов, предлагающих такие возможности очень много. Также существуют специальные боты в Telegram, выполняющие данную задачу. Но в статье пойдет речь о ресурсе manybot.io, который является одним из самых популярных.

Процедура создания

Для создания бота достаточно выполнить 7 простых шагов:

  1. Вводим в окне поиска Manybot, открываем и кликаем на кнопку Start;
  2. В появившемся меню выбираем русский язык, далее - пункт «Добавить нового бота»;
  3. Вам предложат перейти на @BotFather, делаем это, начинаем с ним чат, отправляем сообщение /newbot;
  4. Поочередно вводим название аккаунта и техническое имя;
  5. Сохраняем отправленный API-токен;
  6. Переходим обратно к @Manibot, отправляем ему полученный API-токен;
  7. Вводим описание аккаунта.

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

Это довольно простой способ того, как сделать бота в Telegram . Если же вы хорошо разбираетесь в программировании, то можно взяться за выполнение задачи собственными силами. На сайте code.telegram.org подробно расписана информация о Telegram API и программировании на нем. Все статьи представлены на английском языке.

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

Что такое "бот"?

На самом деле все очень просто. "Бот" в социальных сетях - это несуществующий человек, которого на самом деле просто нет. Это фейк. Еще их называют "мертвыми душами", прямо как в повести Гоголя, несуществующие люди, но числящиеся в некоторых структурах. В данном случае будут рассмотрены фейки в социальной сети "ВКонтакте". "Живое" отображение "бота" представлено в виде анкеты тех людей, которые на самом деле не существуют, или это заброшенные странички пользователей, а возможно, даже и копии, но реальные владельцы об этом не знают. Что умеет делать такой "бот"? Ничего, он просто есть и все. Он не умеет читать или писать и вообще ничего.

Для чего нужен "бот"?

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

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

Как создать страницу "бота" в "ВК" самостоятельно?


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

3. После подтверждения для вас откроется чистая страничка, которую нужно заполнить.

Теперь, после регистрации, переходим к главному вопросу, а именно "Как создать бота в "ВК"?". На страничке нового пользователя нужно заполнить все обязательные поля. А конкретно следующие:

1. Основное: имя и фамилию вы уже заполнили. Значит, нужно указать пол, семейное положение, дату рождения, город, язык. Далее - дедушки, бабушки, родители, братья, сестры, дети, внуки - добавляете нужные. Нажимаете "сохранить".

2. Контакты: нужно добавить страну, Skype, личный сайт. Можно последние пункты и не добавлять.

3. Интересы: надо вписать деятельность. Указать как можно большее количество, интересов (книги, путешествия, юмор и другое). Далее заполнить - любимая музыка, затем фильмы, телешоу, книги, игры, цитаты и написать что-либо "о себе", а затем сохранить.

4. Следующее - образование, указать школу, учебные заведения и сохранить.

5. Карьера: нужно вписать место учебы и работы, можно несколько, и также сохранить.

6. Служба: только для мужского пола.

7. Жизненная позиция: надо заполнить - мировоззрение, главное в жизни, главное в людях, отношение к курению, отношение к алкоголю, источник вдохновения, и все это также сохранить.

Итак, основные данные заполнены, переходим на следующий этап.

Второй этап - добавление фотографий

Итак, переходим на второй этап решения вопроса "Как создать бота в "ВК"?". Теперь надо добавить аватарку и фотографии.

1. Находим в интернете в разделе "картинки" подходящие фотографии. Загружаем их к себе на компьютер и сохраняем.

2. Желательно найти фотографии несколько штук одного какого-либо человека. В таком случае можно создать видимость "живого и реального пользователя".

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

4. Теперь добавляем фотографии, чем их больше, тем лучше. Они могут быть любыми. "Бот" может на них быть запечатлен как в единственном числе, так и с компанией и с группой людей. Нужно загрузить хотя бы 4-5 фотографий. Переходим на следующий этап и узнаем, как создать "бота" в "ВК", заключительные действия.

Оживление "бота"

Теперь нужно добавить больше жизненности фейку.

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

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