Создание и интегрирование бота VK в группу через VkBotLongPoll [Python] / Хабр
В этой статье мы создадим бота и интегрируем его в группу VK на Python 3.xДля кого эта статья?
Для тех, кто хочет написать простого бота для своего сообщества, умеющего определять команды и выводить соответствующий ответ
Основные стадии
Создание группы-бота
Начнем мы с создания бота, а именно группы в ВК.
Для это нужно зайти в «группы» → «создать сообщество».
Выберите любой тип сообщества и введите название, тематику группы.
На открывшейся странице настроек, выберите «Работа с API».
Далее, необходимо создать API-ключ.
Затем выберите нужные вам параметры с доступом для вашего API-ключа.
Скорее всего, вам придётся подтверждать действие в ВК с помощью мобильного телефона. Затем скопируйте полученный API-ключ где-нибудь в файл. Он нам еще понадобится.
Затем нужно разрешить сообщения. Для этого переходим в «сообщения» и включаем их. Также включим «Возможности ботов» в «Сообщения» -> «Настройки для бота».
Там же разрешим добавить сообщество в группы, если мы хотим чтобы бот мог получать сообщения из группы.
Настройка Long Poll
Для работы с Long Poll API используем библиотеку vk_api. Установить его можно через pip.
Перед работой сохраним наш API-токен в файл config.py оттуда мы будем загружать наш ключ.
Создадим наш первый скрипт. Назовем server.py, который будет основным скриптом сервера.
Импортируем нужные нам модули:
import vk_api.vk_api
from vk_api.bot_longpoll import VkBotLongPoll
from vk_api.bot_longpoll import VkBotEventType
Создадим класс-сервер:
class Server:
def __init__(self, api_token, group_id, server_name: str="Empty"):
# Даем серверу имя
self.server_name = server_name
# Для Long Poll
self.vk = vk_api.VkApi(token=api_token)
# Для использования Long Poll API
self. long_poll = VkBotLongPoll(self.vk, group_id)
# Для вызова методов vk_api
self.vk_api = self.vk.get_api()
def send_msg(self, send_id, message):
"""
Отправка сообщения через метод messages.send
:param send_id: vk id пользователя, который получит сообщение
:param message: содержимое отправляемого письма
:return: None
"""
self.vk_api.messages.send(peer_id=send_id,
message=message)
def test(self):
# Посылаем сообщение пользователю с указанным ID
self.send_msg(255396611, "Привет-привет!")
Теперь создадим файл server_manager.py, в котором будет управлять разными серверами. Пока для тестов пропишем лишь вызов класса Server:
# Импортируем созданный нами класс Server
from server import Server
# Получаем из config.py наш api-token
from config import vk_api_token
server1 = Server(vk_api_token, 172998024, "server1")
# vk_api_token - API токен, который мы ранее создали
# 172998024 - id сообщества-бота
# "server1" - имя сервера
server1. test()
Важно!
Бот может писать сообщения только тем пользователям, которые разрешили боту присылать сообщения. Сделать это можно на странице сообщества или же первым написать боту
Если все сделано правильно, то бот пришлет нам личное сообщение.
Теперь добавим бота в группу и научим его обрабатывать сообщения.
Для добавления бота в группу нужно нажать «Пригласить в беседу» в правом меню сообщества.
Добавим боту функцию start, после вызова которой он начнет «слушать» сообщения через Long Poll (не забудьте добавить разрешения в типы событий в разделе «Работа с API» -> «Long Poll API» и поставить последнюю версию):
def start(self):
for event in self.long_poll.listen():
print(event)
Запустим его через server_manager.py:
server1.start()
Теперь, если напишем сообщение в группу, то сможем увидеть объект event’a:
<<class ‘vk_api. bot_longpoll.VkBotMessageEvent’>({‘type’: ‘message_new’, ‘object’: {‘date’: 1541273151, ‘from_id’: 25599999999, ‘id’: 0, ‘out’: 0, ‘peer_id’: 2000000001, ‘text’: ‘[club172998024|bot in da Vk] this is a text!’, ‘conversation_message_id’: 187, ‘fwd_messages’: [], ‘important’: False, ‘random_id’: 0, ‘attachments’: [], ‘is_hidden’: False}, ‘group_id’: 172998024})>
Также, если мы напишем в личные сообщения:
<<class ‘vk_api.bot_longpoll.VkBotMessageEvent’>({‘type’: ‘message_new’, ‘object’: {‘date’: 1541273238, ‘from_id’: 25599999999, ‘id’: 47, ‘out’: 0, ‘peer_id’: 255396611, ‘text’: ‘это личное сообщение’, ‘conversation_message_id’: 47, ‘fwd_messages’: [], ‘important’: False, ‘random_id’: 0, ‘attachments’: [], ‘is_hidden’: False}, ‘group_id’: 172998024})>
Из этих данных нам следует обратить внимание на type, object.from_id, object.id, object.peer_id, object.text. Данные полученные из сообщений и из группы ничем сильно не отличаются, кроме object. peer_id и object.id.
Если присмотреться, object.id у всех сообщений из группы равен 0, а сообщения из личных нет. Таким образом, можно разделить сообщения получаемые из группы и из личных.
Обработаем полученные данные внутри класса Server:
def start(self):
for event in self.long_poll.listen(): # Слушаем сервер
# Пришло новое сообщение
if event.type == VkBotEventType.MESSAGE_NEW:
print("Username: " + self.get_user_name(event.object.from_id))
print("From: " + self.get_user_city(event.object.from_id))
print("Text: " + event.object.text)
print("Type: ", end="")
if event.object.id > 0:
print("private message")
else:
print("group message")
print(" --- ")
def get_user_name(self, user_id):
""" Получаем имя пользователя"""
return self.vk_api.users.get(user_id=user_id)[0]['first_name']
def get_user_city(self, user_id):
""" Получаем город пользователя"""
return self. vk_api.users.get(user_id=user_id, fields="city")[0]["city"]['title']
Напишем боту два сообщения: один из группы, один в личку. Тогда получим:
Username: Артур
From: Санкт-Петербург
Text: [club172998024|@club172998024] this is a message from group
Type: group message
—
Username: Артур
From: Санкт-Петербург
Text: this is a private message
Type: private message
—
Примечание
Как вы могли заметить перед сообщением в группе есть [club172998024|@club172998024], для правильной обработки команды следует избавиться от всего содержимого в квадратных скобках, либо разрешить боту доступ ко всей переписке
Как мы видим, vk_api позволяет нам легко использовать методы VK API. К примеру, сейчас мы использовали метод users.get
Список всех методов доступен по ссылке: vk.com/dev/methods
Советую изучить и поэкспериментировать с методами, которые вас заинтересуют.
Благо VK предоставило нам очень хорошую документацию, еще и на русском языке.Чтобы закрепить материал, давайте добавим функцию отправки сообщения через метод messages.send:
def send_message(self, peer_id, message):
self.vk_api.messages.send(peer_id=peer_id, message=message)
— идентификатор назначения. Чтобы ответить на чье-то сообщение, в качестве параметра peer_id укажем event.object.peer_id. То есть, пошлем сообщение туда, откуда пришел запрос.
Изменим метод start:
def start(self):
for event in self.long_poll.listen(): # Слушаем сервер
# Пришло новое сообщение
if event.type == VkBotEventType.MESSAGE_NEW:
username = self.get_user_name(event.object.from_id)
print("Username: " + username)
print("From: " + self.get_user_city(event.object.from_id))
print("Text: " + event.object.text)
print("Type: ", end="")
if event. object.id > 0:
print("private message")
else:
print("group message")
print(" --- ")
self.send_message(event.object.peer_id, f"{username}, я получил ваше сообщение!")
Теперь, если бот примет сообщение, то он нам ответит в таком стиле:
Артур, я получил ваше сообщение!
Весь код
server.py
import vk_api.vk_api
from vk_api.bot_longpoll import VkBotLongPoll
from vk_api.bot_longpoll import VkBotEventType
class Server:
def __init__(self, api_token, group_id, server_name: str="Empty"):
# Даем серверу имя
self.server_name = server_name
# Для Long Poll
self.vk = vk_api.VkApi(token=api_token)
# Для использоания Long Poll API
self.long_poll = VkBotLongPoll(self.vk, group_id, wait=20)
# Для вызова методов vk_api
self.vk_api = self.vk.get_api()
def send_msg(self, send_id, message):
"""
Отправка сообщения через метод messages. send
:param send_id: vk id пользователя, который получит сообщение
:param message: содержимое отправляемого письма
:return: None
"""
self.vk_api.messages.send(peer_id=send_id,
message=message)
def test(self):
self.send_msg(255396611, "Привет-привет!")
def start(self):
for event in self.long_poll.listen(): # Слушаем сервер
# Пришло новое сообщение
if event.type == VkBotEventType.MESSAGE_NEW:
username = self.get_user_name(event.object.from_id)
print("Username: " + username)
print("From: " + self.get_user_city(event.object.from_id))
print("Text: " + event.object.text)
print("Type: ", end="")
if event.object.id > 0:
print("private message")
else:
print("group message")
print(" --- ")
self. send_message(event.object.peer_id, f"{username}, я получил ваше сообщение!")
def get_user_name(self, user_id):
""" Получаем имя пользователя"""
return self.vk_api.users.get(user_id=user_id)[0]['first_name']
def get_user_city(self, user_id):
""" Получаем город пользователя"""
return self.vk_api.users.get(user_id=user_id, fields="city")[0]["city"]['title']
def send_message(self, peer_id, message):
self.vk_api.messages.send(peer_id=peer_id, message=message)
server_manager.py
# Импортируем созданный нами класс Server
from server import Server
# Получаем из config.py наш api-token
from config import vk_api_token
server1 = Server(vk_api_token, 172998024, "server1")
server1.start()
Задачка для закрепления материала:
Создайте функцию, которая принимает параметр peer_id и посылает пользователю фотографию загруженную в сообщество. Полезный док: vk.com/dev/messages.sendРешениеСначала, загрузим фото в группу и открыв её в ВК рассмотрим ссылку:
vkcom/club172998024?z=photo-172998024_456239017%2Falbum-172998024_256250731
Нас интересует лишь выделенная часть: photo-172998024_456239017. Передадим её в качестве аргумента метода messages.send:
def send_img(self, peer_id):
self.vk_api.messages.send(peer_id=peer_id,
attachment="photo-172998024_456239017")
Добавим его в метод start и получим:
Вот и все основы. Главное, научиться пользоваться vk_api, используя различные методы, весь их список: vk.com/dev/methods. Если вы научитесь работать с документацией VK API, то сможете создавать ботов различной сложности и назначений. Пример моего бота для учебной группы: github.com/AppLoidx/GroupAssistant/tree/master
Теперь приступим к созданию логики бота
Создадим commander.py, который будет принимать команды и возвращать ответ, передаваемый пользователю Vk:
class Commander:
def __init__(self, vk_api, user_id):
self.vk_api = vk_api
self.user_id = user_id
def input(self, msg):
"""
Функция принимающая сообщения пользователя
:param msg: Сообщение
:return: Ответ пользователю, отправившему сообщение
"""
pass
Построим архитектуру нашей программы:
«Слушаем» сервер Long Poll и получаем сообщение пользователя ->
Передаем сообщение в Commander. input() -> Определяем режим -> Определяем команду ->
Возвращаем ответ -> Передаем пользователю
Чтобы определить режим и команду, создадим два файла command_enum.py и mode_enum.py. С помощью них мы будем определять режимы и команды через методы класса Enum:
command_enum.py:
from enum import Enum
class Command(Enum):
""" weather """
weather = ["weather", "погода"]
""" myanimelist """
anime_top = ["top anime", "топ аниме"]
mode_enum.py:
from enum import Enum
class Mode(Enum):
default = ["Обычный режим", "default"]
translate = ["Режим переводчика", "translate"]
get_ans = 0
Для смены режимов используем [слэш(«/»)+<имя_режима>], а все остальные команды примем как команды.
Реализуем это в Commander.py:
# Перечисления команд, режимов
from command_enum import Command
from mode_enum import Mode
# Рабочие модули
from translate.yandex_translate import Translator
from weather import Weather
from myanimelist import Myanimelist
# Config
from config import yandex_translate_api
class Commander:
def __init__(self):
# Текущий, предыдущий режимы
self. now_mode = Mode.default
self.last_mode = Mode.default
self.last_command = None
# Для запомминания ответов пользователя
self.last_ans = None
# Работа с переводом
self.translator = Translator(yandex_translate_api)
def change_mode(self, to_mode):
"""
Меняет режим приема команд
:param to_mode: Измененный мод
"""
self.last_mode = self.now_mode
self.now_mode = to_mode
self.last_ans = None
def input(self, msg):
"""
Функция принимающая сообщения пользователя
:param msg: Сообщение
:return: Ответ пользователю, отправившему сообщение
"""
# Проверка на команду смены мода
if msg.startswith("/"):
for mode in Mode:
if msg[1::] in mode.value:
self.change_mode(mode)
return "Режим изменен на " + self.now_mode.value[0]
return "Неизвестный мод " + msg[1::]
# Режим получения ответа
if self. now_mode == Mode.get_ans:
self.last_ans = msg
self.now_mode = self.last_mode
return "Ok!"
if self.now_mode == Mode.default:
# Погода
if msg in Command.weather.value:
return Weather.get_weather_today()
# Топ аниме
if msg in Command.anime_top.value:
res = ""
top = Myanimelist.get_top()
for anime in top:
res += anime + " : " + top[anime] + "\n"
return res
if self.now_mode == Mode.translate:
if self.last_ans is None:
# Если язык не выбран, просим пользователя ввести
self.change_mode(Mode.get_ans)
self.last_command = msg
return "Выберите язык на который следует перевести"
elif self.last_ans == "change":
# Меняем переводимый язык
self.last_ans = None
self. change_mode(Mode.default)
else:
# Переводим
return self.translator.translate_to(msg, self.last_ans)
return "Команда не распознана!"
weather.py
import requests
from bs4 import BeautifulSoup
class Weather:
@staticmethod
def get_weather_today(city: str = "санкт-петербург") -> list:
http = "https://sinoptik.com.ru/погода-" + city
b = BeautifulSoup(requests.get(http).text, "html.parser")
p3 = b.select('.temperature .p3')
weather1 = p3[0].getText()
p4 = b.select('.temperature .p4')
weather2 = p4[0].getText()
p5 = b.select('.temperature .p5')
weather3 = p5[0].getText()
p6 = b.select('.temperature .p6')
weather4 = p6[0].getText()
result = ''
result = result + ('Утром :' + weather1 + ' ' + weather2) + '\n'
result = result + ('Днём :' + weather3 + ' ' + weather4) + '\n'
temp = b.select('. rSide .description')
weather = temp[0].getText()
result = result + weather.strip()
return result
myanimelist.py
import requests
import bs4
class Myanimelist:
@staticmethod
def get_top(count: int=5, by: str="") -> dict:
types = ["", "airing", "upcoming", "tv", "movie", "ova", "special", "bypopularity", "favorite"]
if by not in types:
return {"error: ": "Неизвестный тип!"}
html = requests.get("https://myanimelist.net/topanime.php?type="+by)
soup = bs4.BeautifulSoup(html.text, "html.parser")
res = {}
for anime in soup.select(".ranking-list", limit=count):
url = anime.select(".hoverinfo_trigger")[0]['href']
anime = anime.select(".hoverinfo_trigger")[0].findAll("img")[0]
name = anime['alt'].split(":")[1].strip(" ")
res[name] = url
return res
yandex_translate.py
import requests
from config import yandex_translate_api
class Translator:
"""
Класс-переводчик использующий API Yandex Translate
Параметры:
_key -- ключ от API Yandex. Translate
_yandex_comment -- согласовано с правилами офомления и использования API Yandex.Translate
"""
def __init__(self, key, comment=None):
"""
:param key: ключ от API Yandex.Translate
:param comment: Комментарий к каждому переводу
"""
self._key = key
if comment is None:
self._yandex_comment = "\nПереведено сервисом «Яндекс.Переводчик» http://translate.yandex.ru/"
else:
self._yandex_comment = comment
def translate(self, text, lang, to_lang=None):
"""
Переводит текст с указанного языка в другой указанный
:param text: Текст, который нужно перевести
:param lang: исходный язык
:param to_lang: конечный язык
:return: Переведенный текст
"""
if to_lang is not None:
lang = f"{lang}-{to_lang}"
main_url = "https://translate.yandex.net/api/v1.5/tr.json/translate"
response = requests.get(f"{main_url}?"
f"key={self. _key}&"
f"lang={lang}&"
f"text={text}")
return response.json()['text'][0] + self._yandex_comment
def lang_identify(self, text, hint="ru,en"):
"""
Идентифицирует язык
:param text: Текст
:param hint: Подсказки для определения языка
:return: код языка
"""
main_url = "https://translate.yandex.net/api/v1.5/tr.json/detect"
response = requests.get(f"{main_url}?"
f"key={self._key}&"
f"hint={hint}&"
f"text={text}")
return response.json()['lang']
def translate_ru_en(self, text):
"""
Переводит текст с русского на английский
:param text: Текст, который нужно перевести
:return: Текст переведенный на английский язык
"""
if self.lang_identify(text) == "ru":
to_lang = "en"
from_lang = "ru"
else:
to_lang = "ru"
from_lang = "en"
return self. translate(text, from_lang, to_lang)
def translate_to_ru(self, text, hint=None):
"""
Переводит текст на русский
:param text: Текст, который нужно перевести
:param hint: Подсказки к определению языка
:return: Текст переведенный на русский язык
"""
if hint is None:
hint = "ru,en"
from_lang = self.lang_identify(text, hint)
return self.translate(text, from_lang, "ru")
def translate_to(self, text, to_lang, hint=None):
"""
Переводит текст в нужный язык
:param text: Текст, который нужно перевести
:param to_lang: Код результирующего языка
:param hint: Подсказки к определению языка
:return: Переведенный текст
"""
if hint is None:
hint = "ru,en"
from_lang = self.lang_identify(text, hint)
return self.translate(text, from_lang, to_lang)
Весь код доступен на гитхабе: github.com/AppLoidx/VkLongPollBot
Добавляем клавиатуру:
Это очень легкий процесс, осложнения могут быть вызваны, когда мы будем изменять клавиатуру под определенную сигнатуру команд, которая отличается для каждого режима.
Чтобы добавить в окне диалогов клавиатуру, необходимо в методе messages.send указать параметр keyboard, принимающий json. Выглядит это следующим образом:
vk_api.messages.send(...,keyboard=keyboard_json,...)
Или же можно передать клавиатуру прямо с файла .json:
vk_api.messages.send(...,keyboard=open(filename,"r",encoding="UTF-8").read()
Документация: vk.com/dev/bots_docs_3?f=4.%2BКлавиатуры%2Bдля%2Bботов
Рассмотрим на примере нашей программы, добавив клавиатуру.
Для начала создадим файл keyboard.json:
{
"one_time": false,
"buttons": [
[{
"action": {
"type": "text",
"label": "top anime"
},
"color": "positive"
},
{
"action": {
"type": "text",
"label": "weather"
},
"color": "positive"
}],
[{
"action": {
"type": "text",
"label": "translate"
},
"color": "default"
}]
]
}
Чтобы убрать клавиатуры необходимо передать json с пустым buttons:
{"buttons":[],"one_time":true}
Переопределим send_message в server. py:
def send_msg(self, send_id, message):
"""
Отправка сообщения через метод messages.send
:param send_id: vk id пользователя, который получит сообщение
:param message: содержимое отправляемого письма
:return: None
"""
return self.vk_api.messages.send(peer_id=send_id,
message=message,
keyboard=open("keyboards/default.json", "r", encoding="UTF-8").read())
И также в методе start:
def start(self):
for event in self.long_poll.listen(): # Слушаем сервер
if event.type == VkBotEventType.MESSAGE_NEW:
if event.object.from_id not in self.users:
self.users[event.object.from_id] = Commander()
# Пришло новое сообщение
if event.type == VkBotEventType.MESSAGE_NEW:
self.send_msg(event.object.peer_id,
self.users[event.object.from_id].input(event.object. text))
В результате получим:
Последнее слово
Не стоит использовать голый листинг исходников представленных здесь, они использованы лишь для того чтобы вы лучше понимали что происходит под капотом. Разумеется, они все юзабельны и можно использовать их по частям.
Лично я использовал такого бота для группового ассистента, который умел:
- создавать очереди из участников группы, в том числе и множество команд редактировавших очередь, таких как добавление, удаление, создание и тд.
- рассылать всем участникам сообщения
- задавал вопросы (например, по языку Java)
- давал возможность создавать заявки на обмен мест и т.п.
Проект на гитхабе
Исходники представленные здесь
Как сделать чат-бота ВКонтакте
Чат-боты здорово экономят время: можно не заходить в соцсети каждые пять минут, а просто проверять диалоги раз в день и оформлять заказы. Рассказываю, как быстро сделать чат-бота ВКонтакте, даже если не разбираетесь в коде.
Немного теории: что такое чат-боты и какими они бывают
Чат-ботами называют программы, которые общаются с пользователями по определенному сценарию. Все их можно условно разделить на несколько больших групп.
По принципу работы — на простые и продвинутые. Простые работают только по заданным командам и ничего не понимают, когда диалог идет не по сценарию. Например, если пользователь пишет с ошибками или спрашивает о товаре что-то такое, что не предусмотрел настройщик.
Этот примитивный бот на любое сообщение скидывает заранее заготовленный текстПродвинутые основаны на искусственном интеллекте. Они все время обучаются на ответах пользователей и умеют улавливать смысл сообщений. Поэтому не затупят, даже если им зададут какой-то уникальный вопрос.
Чат-бот с искусственным интеллектом может вести более-менее «живой» диалогПо способу общения — на текстовые и те, в которых пользователь выбирает команды. В первом случае человек пишет сообщение, а бот отвечает ему: тоже текстом или каким-то медиафайлом.
Во втором случае пользователь управляет ботом с помощью кнопок. Нажимает на какую-то команду, и бот выполняет ее.
Так выглядит бот с кнопками ВКонтакте: можно написать команду текстом или нажать на нужный элементБывают комбинированные боты. Например, пользователь сначала выбирает «Информация о заказе», потом «Отследить доставку», потом вводит номер заказа. Это — комбинированный чат-бот.
По функционалу — на обычные и с дополнительными функциями. Обычные могут только общаться: ответить на вопрос, рассказать анекдот, поддержать разговор.
Продвинутые умеют передавать данные заказов в CRM-систему, брать предоплату, подбирать товар по заданным пользователем параметрам. Для этого они взаимодействуют с другим софтом: например, чтобы передать данные или взять предоплату — с CRM, а для подбора — с каталогом.
Держите пример продвинутого бота: вы пишете ему текст, он записывает его в голосовом и присылает сообщением или файлом. А еще можно выбрать дополнительные функции — изменить голос или отправить анонимку другуСамые простые чат-боты — те, которые работают по командам и консультируют по текстовым сообщениям. Сделать их проще всего. Показываю, как настраивать ответы на самые распространенные вопросы и добавлять кнопки, чтобы люди могли нажимать их, а не писать сообщения.
Пошаговая инструкция: делаем чат-бота ВКонтакте
Есть специальные сервисы для создания ботов: Robochat, BotVK, Chatgun и другие. Буду показывать процесс создания на примере Chatgun — интерфейс всех сервисов примерно одинаков, поэтому вы легко сделаете то же самое на другой платформе.
Шаг № 1. Собираем данные для бота
Мы будем делать чат-бота, который может проконсультировать людей. Поэтому нужно собрать статистику: узнать, какие вопросы задают чаще всего. Сделать это можно в CRM-системе. Если ее нет, зайдите в сообщения сообщества и посмотрите, чем интересуются пользователи. Обращений пока не так много — подумайте, какие вопросы могут задавать потенциальные покупатели: подсмотрите диалоги на форумах, почитайте FAQ на сайтах конкурентов или проследите за активностью в аналогичных сообществах.
На этом этапе у вас должен получиться список самых распространенных вопросов. Например:
- Какая упаковка?
- Можно оплатить на месте?
- Есть ли скидки?
Кстати, уже на этом этапе можно облегчить себе работу. Просто вынесите ответы на самые распространенные вопросы в меню, закрепленный пост или описание группы. Их все равно будут задавать, но уже реже.
Шаг № 2. Привязываем сообщество к сервису
Нажимаем на «Попробовать бесплатно» на главной странице и выбираем сообщество, в котором хотим установить чат-бот. Для этого у вас должен быть доступ к управлению им.
В Chatgun можно выбрать сразу несколько сообществЗатем включаем разрешение на добавление сообщений. Для этого переходим в меню сообщества и выбираем наше приложение, а потом нажимаем на «Разрешить».
Без этого сервис не сможет отправлять сообщения от имени группыШаг № 3. Прописываем сообщения пользователей и ответы
Стандартно в Chatgun можно настраивать реакции бота на разные действия пользователей — например, на оплату через VK Pay, на подписку, отписку или стикер. Но сделать это сложно — вы никогда не знаете заранее, какой стикер пришлет подписчик и как на него нужно будет отреагировать.
Поэтому настраиваем ответы на самые разные вопросы вручную. Для этого нажимаем на «Создать сценарий».
Жмем сюда, чтобы создать новый сценарий для чат-ботаКак-нибудь называем сценарий для своего удобства и прописываем ключевые слова. Ключевые слова — это словосочетания, которые содержатся в вопросе пользователя.
На первый взгляд все просто: задаем вопрос, пишем ответ, сохраняем сценарий. На самом деле нет — пользователи могут делать ошибки, использовать нестандартные формулировки и так далее. Надо научить бота распознавать все возможные вариации вопроса.
В «Ключевых словах» мы пишем не просто вопрос, а все его вариации: с ошибками и неправильным порядком слов. И указываем, что сценарий сработает, если сообщение содержит одно из ключевых слов, а не точно совпадает с ним.
Выбираем условие и пишем слова. Здесь же включите срабатывание в комментариях, и тогда чат-бот будет реагировать не только на сообщения в группе, но и на обсуждения постовПролистываем чуть ниже и пишем ответ на вопрос. В него можно добавить смайлы или прикрепить какой-то файл. Чуть ниже доступны дополнительные настройки: можно включить анимацию того, что бот печатает сообщение, или отправлять ответ с задержкой в несколько секунд.
Наведите курсор на функцию, и сервис даст подсказку, как она работаетВернитесь чуть выше и сохраните сценарий. И сделайте так для всех возможных вопросов.
Нужно сделать что-то более интересное или сложное — пожалуйста, в Chatgun и других сервисах есть все необходимое для этого. Например, чат-бот может обращаться к человеку по имени и называть город, указанный в его профиле. Чтобы научить сервис делать так, добавьте в ответ переменные — скопируйте их из списка и используйте по тексту. Там, где будет переменная, чат-бот автоматически подставит соответствующие данные.
Нажмите сюда, чтобы открыть список всех доступных переменных и использовать их в ответеТут же можно сделать кнопки, чтобы пользователь не писал сообщения, а управлял чат-ботом ВКонтакте командами. Заходим в сценарий ответа на первое сообщение, пишем приветствие и добавляем кнопки.
Нажимаем сначала на значок клавиатуры, потом на «Добавить ряд кнопок»И добавляем сколько угодно кнопок. Можно писать их названия, выбирать цвет и тип. А еще то, как бот отреагирует на нажатие: например, перейдет к какому-то сценарию
Нажмите сюда, чтобы выбрать сценарий для перехода из стандартных или добавленных вамиИ так можно сделать все, что угодно: например, научить чат-бота отправлять ссылку на конкретное видео, если его спрашивают об обзоре. Или добавить несколько вариантов ответов — тогда бот будет отправлять случайный или все по порядку в зависимости от настроек.
Шаг № 4. Прописываем ответ на неизвестное сообщение
Неизвестные сообщения — те, которые вы не предусмотрели, или уникальные вопросы, заданные впервые. На них тоже нужно отвечать. В сценарии реакции на неизвестную команду придумайте ответ, который подошел бы любой ситуации. Можно написать просто что-то типа «Я вас не понимаю, но сейчас передам сообщение администрации группы. Они обязательно с вами свяжутся».
А чтобы не пропускать такие сообщения, настройте отправку неизвестных команд администратору. Тогда чат-бот перешлет вам вопрос пользователя в личку, и вы вовремя заметите его.
Активируйте функцию, а потом выберите администратора, который будет получать сообщениеКстати, такое же перенаправление можно настроить, если принимаете заказы прямо ВКонтакте. Сделайте так, что бот сам спросит все необходимые данные и просто перешлет вам сообщение об оплате.
Все, мы настроили простейшего чат-бота — он начнет консультировать пользователей и освободит вас от рутины. Совсем не обращать внимания на сообщения не получится, но вы будете тратить на обработку сообщений гораздо меньше времени.
В настройках чат-ботов, даже примитивных, есть много чего интересного — можно добавлять реакции на прикрепленные файлы, строить автоворонки продаж с помощью кнопок, делать рассылки, настраивать варианты ответов в зависимости от переменных и много чего еще. Не пожалейте пару часов и разберитесь во всех функциях, чтобы потом сэкономить намного больше времени.
А если хотите сэкономить время не только на сообщениях, но и на постах, используйте SMMplanner. Планируйте в нем публикации на несколько недель вперед. SMMplanner будет публиковать посты, чат-бот — отвечать на вопросы в комментариях, а вы сможете заняться развитием бизнеса.
Автор: Дарья Сопина
Скорее регистрируйтесь в SMMplanner и пробуйте описанное в статье!7 примеров + 11 сервисов
Чат-бот – виртуальный собеседник (робот), автоматически отвечающий на сообщения пользователей.
Чат бот для беседы вк здорово освобождает от рутины, предоставляя всю нужную информацию без Вашего участия (требуется только настройка). А принцип работы очень простой: пользователь пишет определенное слово (или любой текст), которое активирует бота, и тот ему отвечает. Причём этот инструмент будет полезен для бизнеса в решении разных задач от развлечения до продажи.
Топ сервисов
В таблице ниже полезные сервисы, в которых Вы сможете запустить чат бота для вк. Они расположены в том порядке, в каком мы их рекомендуем, первые три – топовые, а далее уже вразнобой. Все сервисы имеют схожий функционал, но разную стоимость. Выбирайте тот, который придется по душе и карману.
Название сервиса | Пробный доступ | Платный доступ (в мес.) | Бонус | CRM | Статистика |
Robochat | 3 дня | От 399 руб | – | Нет | Нет |
SendPulse | Есть | От 599 руб | – | Нет | Есть |
Автопилот | 750 команд | 970 руб | +500 руб | Есть | Нет |
SaleBot | 3 дня | От 599 руб | +4 дня | Есть | Есть |
Chatgun | Есть | 390 руб | “INSCALE” -25% на все | Нет | Есть |
BotHelp | 14 дней | От 990 руб | – | Есть | Есть |
Bots Kit | Есть | Нет | – | Нет | Есть |
Botmother | 1 пробный бот | От 1249 руб | – | Нет | Есть |
Bot Kits | 14 дней | От 499 руб | – | Есть | Есть |
Aimylogic | 14 дней | От 990 руб | – | Есть | Есть |
Smart-бот | Есть | От 190 руб | – | Нет | Есть |
BotVK | 3 дня | От 100 руб | – | Нет | Нет |
Кстати. Привлекать подписчиков в Вк очень просто через сервис массовых действий. С ним Вы можете собрать горячую аудиторию, пролайкать ее и добавить всех в друзья, а еще поздравлять с праздниками (вовлеченность +73% гарантируем). Кликайте и тестируйте -> VK BOSS.
Возможности ботов
Помимо стандартных реакций чат бота в вк на входящие сообщения и простых бесед с пользователями, есть оригинальные и полезные функции, которые можно использовать в бизнесе. О них расскажу далее с примерами и настройкой в сервисе Автопилот (как уже писала выше, есть много сервисов с похожим функционалом).
1. Прием заявки на вступление
В закрытых сообществах все заявки на вступление требуют одобрения. Отследить и вовремя отреагировать на это действие человеку бывает трудно, а бот вк легко справляется с такой задачей.
Настроить эту функцию можно так: нажав кнопку сообщества, кликните “команды”, пропишите команду и нажмите “сохранить”.
Далее нажмите на созданную команду, откроется окно “если пользователь”. Тут Вы выбираете событие – что в чат напишет пользователь, в данном случае – “вступает в сообщество”. Нажмите сохранить.
После этого откроется окно ” что будет сделано” – это то, что получит пользователь в ответ. Выберите действие – “одобрена заявка” и сохраняете. Затем Вы сможете установить, что будет дальше. Допустим, действие “отправить сообщение” – пропишите его. Сохраните команду, вернитесь в начало и нажмите “включить”.
Важно. Не забывайте отслеживать эффективность и держать руку на пульсе Вашего продвижения. Для этого рекомендую самый ТОПовый сервис аналитики – livedune (по промокоду “INSCALE” скидка 30% +7 дней доступа).
2. Имитация набора текста
При общении с людьми мы можем видеть, как совершается действие: пишется текст, либо записывается голосовое сообщение. Робот же делает все мгновенно, от чего у пользователей появляется ощущение нереальности и недоверия.
Как сделать чат бота живее? В этом поможет функция имитации набора текста, выглядеть это будет так:
Ниже показана настройка на примере запроса о консультации: добавьте команду, пропишите её и сохраните. Нажав на созданную команду, в “если пользователь” выберите событие – “написал сообщение” и пропишите текст. Далее настройте остальные действия, сохраните команду, вернитесь в начало и включите ее.
3. Подписка на рассылку
Рассылки – это полезный инструмент для продвижения и продаж, однако по правилам ВК, без согласия пользователя бот не имеет права присылать ему сообщения. Так что сперва нужно, чтобы человек подписался на рассылку.
Возможность такой рассылки Вконтакте дают множество сервисов, например, мы советуем Сенлер. В нем будет видно, что человек подписался на рассылку. Для этого просто нужно обновить страницу со всеми подписками.
По теме: Рассылка сообщений в ВК через Сенлер: инструкция
Настраивается эта функция так: создайте команду, а после того, как настроите сообщение от пользователя, создайте действие “подписать на рассылку Сенлер”. Далее вставьте ссылку на группу и ссылку с меткой. Сохраните и включите команду. Вуаля!
4. Игра
Лучший способ взаимодействия с подписчиками – игры. Через них можно повысить лояльность и даже продавать. Вы можете предложить им анекдоты, загадки, викторину и многое другое, организовав действие в формате игры. Для этого понадобится чуть больше времени на создание цепочки действий, однако результат точно порадует. У пользователя это будет отображаться так:
Для настройки добавьте команду, создайте событие – “написал сообщение” и пропишите то, что отправит пользователь. Это может быть верный или неверный ответ. После этого пропишите, что придет пользователю в ответ. Прикрепите кнопки с ответами и настройте их параметры. Сохраните команду и нажмите “включить”.
Интересно. Хотите раскрутить группу в Вк? Сделайте это с новым сервисом автоматизированных конкурсов. Вау-эффект и продажи Вам обеспечены. Кликайте и тестируйте -> Activebot.ru (промокод “inscale” – скидка 10%).
5. Квиз
Еще один из полезных и эффективных инструментов при вовлечении подписчиков во взаимодействие. Несколько вопросов в формате анкеты помогут человеку определиться со своими потребностями, а также получить личное предложение по Вашей услуге.
Выглядит это так: заполняющий анкету выбирает варианты, либо прописывает их самостоятельно, а бот дает ответы.
Ниже показала создание простого опроса по рекламе. Начинаем всё с того же добавления команды. Далее в “если пользователь” выберите – “написал сообщение” и пропишите его – “опрос”. Затем пропишите вопросы, которые в ответ на свое сообщение получит пользователь.
Также Вы можете создать несколько вариантов сообщения пользователя, нажав “добавить секцию”, тогда между блоками появится “или”. Заполняете последовательно поля и все – вы победитель.
По теме:
Конкурс ВКонтакте: 20 идей + 9 советов маркетолога
Как провести конкурс Вконтакте: 10 правил + 10 сервисов
6. Оплата
Чем больше растет бизнес, тем сложнее отслеживать все счета и вовремя получить оплату. Особенно, если у Вас много товаров. Тут снова поможет бот, он сформирует счета и проконтролирует получение средств от заказов. В нашем случае выглядит это так:
Важно. Выжимайте из бизнеса максимум с помощью нашей методички формата “фишечная стратегия”. В ней самый сок из сотен тренингов и книг по маркетингу и продажам. А также концентрат успешных действий. По ссылке скидка 50% в течение 4 часов, кликайте -> “Реальный маркетинг: 165 фишек + 33 основы“
7. Аукцион
В чат боте можно настроить проведение аукциона в комментариях под постом. Аукцион – оригинальный способ привлечь внимание к продукту и повысить спрос.
Суть такая: когда вы зададите начальное значение, система будет анализировать каждую следующую ставку и выявит победителя – того, кто “даст больше”. Настройки потребуют времени и внимательности, зато само действие пройдет автоматически.
Для настройки в верхней панели сервиса выберите вкладку “ещё” и нажмите “ресурсы”. Создайте ресурс, пропишите название и начальную стоимость. Далее создайте событие “написал комментарий, реагирующее только на числа, подходящее под регул. выраж.”, в графу впишите вот это –> “\d+”.
Далее сформируйте ответные комментарии при помощи условной переменной (условия задайте сами в зависимости от целей). Подробно о настройке переменных можете почитать здесь.
Кстати. Если Вы занимаетесь не только накруткой, но и комплексным продвижением, то открою секрет. Статистику любых групп можно посмотреть через специальный сервис. К тому же он покажет какие посты “выстреливают” (так можно и идеи для контента собрать). Кликайте -> AdSpoiler (промокод INSCALE, скидка 15%).
КОРОТКО О ГЛАВНОМ
Чат-бот – прекрасный инструмент для вовлечения аудитории и продаж лояльным клиентам. Но при явной пользе и увлекательности бота в вк, люди часто неохотно участвуют в общении с ними. Чтобы усилить доверие пользователей и чаще вовлекать их в это взаимодействие, можно использовать особые приемы.
1. Напоминание. Периодически напоминайте пользователям, что они могут легко и с пользой взаимодействовать с ботом.
2. Квиз-маркетинг. Создайте тест из 5-7 вопросов, интересных аудитории. А затем предложите анкетируемым присоединиться к общению с виртуальным собеседником – чат-ботом.
3. Лид-магнит. Всплывающее окно будет эффективным “маяком”, направляющим трафик, особенно если предложить пользователям приятный подарок, вроде скидки или небольшой бесплатной услуги.
Чем больше возможных функций будет предусмотрено, тем выше будет продуктивность Вашей работы, а это – прямой инструмент для повышения качества и увеличения прибыли. Напоследок кратко перечислю плюсы и минусы чат бота.
Для создателей:
- Экономия времени;
- Отслеживание статистики;
- Ограниченность сфер использования.
Для пользователей:
- Оперативность обратной связи;
- Беспристрастность при работе;
- Не абсолютное доверие технике.
По теме:
Сервисы накрутки Вконтакте: ТОП-25 +советы от маркетолога
Промопост в Вк: 6 примеров + 7 советов
Аудиореклама в Вк: как настроить + 3 примера
Оформление группы Вконтакте: 60 примеров (лучших)
Статистика Вконтакте: 15 важных метрик
Биржа рекламы ВКонтакте: ТОП-8 сервисов + 10 функций
6 конструкторов по созданию чат-ботов Вконтакте
Рейтинг конструкторов чат-ботов ВКонтакте. Отзывы пользователей о плюсах и минусах, возможностях сервисов и ценах.
Отфильтровать сервисы
Сортировать сервисы
Chatforma – онлайн-конструктор чат-ботов для разных площадок. Помогает привлекать, удерживать и обслуживать клиентов. Благодаря оптимизации процессов позволяет увеличить доходность бизнеса. Поддерживает работу с Вконтакте, Telegram, Facebook и Viber. С помощью конструктора создано более 20 тысяч ботов.
BotHelp (ранее назывался WhatsHelp) является корпоративным мультипротокольным мессенджером, через который Вы сможете работать с заказами, производить рассылку и многое другое. Принцип работы прост: Вы подключаете свой бизнес в соцсетях и мессенджерах и работаете с клиентом в едином окне. Сервис используется в браузере и подходит для командных проектов.
Botmother – это онлайн-конструктор чат-ботов для соцсетей и мессенджеров. Работает с 6 площадками: Вконтакте, Одноклассники, Viber, Telegram, WhatsApp и Facebook. Чат-бот может использоваться в качестве дополнительного канала связи или полностью заменять собой мобильное приложение.
Онлайн-конструктор чат-ботов для мессенджеров и соцсетей. Благодаря нему Вы сможете без специальных знаний и навыков создать собственного бота, на которого переключите массу рутинных операций.
BotsKit – сервис для создания ботов. С его помощью можно конструировать ботов для Вконтакте, Viber, Telegram и Алисы. Отличается удобной и простой настройкой сценариев, высокой скоростью ответа бота пользователям, а также уникальным функционалом. Сервис работает с 2017 года.
Онлайн-сервис, с помощью которого можно создать бота для вовлечения аудитории, увеличения охвата сообщества, проведения массовых рассылок и пр. За время работы сервиса в нем было создано более 400 тысяч ботов, которые отправили более 2,5 миллиардов сообщений и создали около 250 миллионов диалогов.
Это не то, что вы искали?Вы можете сами добавить сайт и оставить на него отзыв.
Добавить
Не нашли то, что искали?
Похожие категории
Конструкторы чат-ботов
16
Конструкторы чат-ботов Telegram
9
Конструкторы чат-ботов Viber
5
Сервисы для мессенджер-маркетинга
6
С чего начать? | Бесплатная программа бот для накрутки ВКонтакте, Инстаграм и Одноклассников.
Итак, вам необходимо приступить к работе с БроБотом. Давайте пройдем по основным этапам.
Уже запустил! А теперь хочу стать гуру в использовании БроБота!
Тогда читай вот эти статьи. Тут содержится вся информация, чтобы быстро научиться пользоваться всем функционалом и начать зарабатывать деньги ботом.
Установка и запуск
Скачайте архив БроБота вот тут и распакуйте все файлы из него в любую пустую папку.
Запустите БроБота. Вам нужно щелкнуть два раза по файлу с иконкой бородатого робота:
Для работы приложения требуется Java, при необходимости БроБот сообщит об этом и предложит ее установить, следуйте его инструкциям.
Если же Бот не запускается после установки, взгляните на варианты решения проблемы.
Что дальше?
Добавьте несколько анкет
В программу вводятся ваши данные от социальной сети (которые вы вводите при входе во вконтакте, одноклассники и так далее).
Все довольно просто, жмите кнопку «Добавить анкеты», выбирайте нужную соц. сеть и вбивайте логины и пароли от анкет. Учтите, что в бесплатной версии можно использовать только одну анкету. Вы сможете попробовать всю возможную функциональность, но для получения максимальной пользы, вам стоит добавить значительно больше аккаунтов. Это можно сделать на платном тарифе.Примерно вот так будет выглядеть окно БроБота, если анкеты добавлены успешно. Обратите внимание, что эти анкеты еще не активны(индикатор активности серый), у них нет заданий:
Назначьте анкетам задания
Необходимо назначить анкетам задания, для этого жмем на кнопку «Настроить задания» и получаем вот такое окно:
В нем мы выбираем что именно должен делать бот, кстати рекомендуем вам ознакомиться со следующими статьями для большего понимания, как лучше всего увеличивать трафик:
Выбрав, что будет делать анкета, переходим к следующему окну:
И выбираем в нем критерии поиска контактов. Тут доступны несколько возможностей фильтрации, ознакомиться с ними подробнее можно на странице обзора функциональности БроБот
Если вы выбрали заданием приглашение в группу, то вы сможете выбрать одну из группу, в которую требуется приглашать пользователей:
После того как вы назначили задание анкете, детали задания можно посмотреть по кнопке «Данные»:
Это задание можно назначить сразу всем остальным анкетам, чтобы не повторять действия выше.
И на этом все, далее БроБот начинает работу!
Запустил! Что делать дальше?
Прочитай вот эти статьи и стань гуру в мире smm!
Остались вопросы? Вы можете задавать их в комментариях ниже. Пожелания и замечания по работе БроБота сообщайте нам, пожалуйста, вот тут.
Как создать чат бота для группы ВК бесплатно
На чтение 3 мин.
Привет! Сегодня я покажу вам как бесплатно создать чат бота для группы ВК. Вы можете автоматизировать многие процессы в группе ВКонтакте. Например, можно сделать, чтобы бот отвечал на вопросы пользователей. Можно создавать цепочки, чтобы например, помочь человеку выбрать товар и т.д. У данного бота нет никаких ограничений! Здесь вы можете посмотреть видео инструкцию по созданию бота ВК. Всё очень просто и быстро! Смотрите далее!
Как сделать бота в ВК для группы
Зайдите в группу ВКонтакте. На главной странице, справа в боковой панели, нажмите на вкладку Управление.
В настройках, справа в боковой панели, перейдите на вкладку Приложения.
Далее, на странице приложений, найдите приложение Конструктор ботов Smart Bot и нажмите по его названию.
В открывшемся окне, вы можете посмотреть описание приложения. Нажмите на кнопку Добавить в сообщество.
Конструктор умных ботов для сообществ. Добавляйте вопросы в базу знаний бота и он будет отвечать на них вашим подписчикам. Бот не просто находит точное совпадение вопроса из базы и вопроса подписчика, но и справляется с опечатками и ищет наиболее подходящий ответ из имеющихся с помощью алгоритмов машинного обучения. С помощью бота можно автоматизировать ответы на часто задаваемые вопросы в вашей группе или сделать меню группы в сообщениях, возможности бота ограничиваются только вашей фантазией.
Далее, вверху, вы можете изменить: название кнопки, видимость, сниппет, название приложения. Нажмите на вкладку Перейти к настройкам в приложении.
Далее, в открывшемся окне, нажмите Разрешить.
Разрешите приложению доступ к вашей группе.
Далее, вам покажут уведомление: Это основной раздел приложения. В нём вы можете добавить часто задаваемые вопросы, на которые будет реагировать и отвечать бот. Нажмите на кнопку Добавить, вверху слева, чтобы перейти к созданию вопроса.
Обратите внимание. К каждому разделу, вы можете посмотреть видео инструкцию.
Читайте внимательно инструкцию!
Что такое цепочка в приложении бот вк?
Основные разделы: Вопросы, Цепочки, Переменные. Вы можете настроить бота. Слева в боковой панели, доступны все функции для настройки бота.
В группе, на главной странице, справа в боковой панели, у вас появится вкладка Открыть бота. Бот ответит на вопросы человека, если он захочет Написать сообщение вам.
Боты FAQ
Если вы новичок в ботах Telegram, мы рекомендуем сначала ознакомиться с нашим Знакомство с ботами . Вы также можете найти руководство Bot API Manual .
Общие вопросы
Как создать бота?
Создавать ботов Telegram очень просто, но вам потребуются хотя бы некоторые навыки компьютерного программирования. Чтобы бот работал, создайте учетную запись бота с помощью @BotFather, а затем подключите его к своему внутреннему серверу через наш API.
К сожалению, готовых способов создать работающего бота, если вы не разработчик, не существует. Но мы уверены, что скоро вы найдете множество ботов, созданных другими людьми, с которыми можно будет поиграть.
Я разработчик. Где найти примеры?
Вот два примера ботов, написанных на PHP:
- Hello Bot демонстрирует основы API бота Telegram. Бот
- Simple Poll является более полным примером, он поддерживает как длительный опрос, так и Webhooks для получения обновлений.
Многие члены нашего сообщества создают ботов и публикуют исходники. Собираем их на на этой странице »
Напишите нам на @BotSupport, если вы создали бота и хотели бы поделиться им с другими.
Будете ли вы добавлять X в Bot API?
API бота еще довольно молод. Есть много потенциальных возможностей, которые следует рассмотреть и реализовать. Некоторое время мы будем изучать, что люди делают со своими ботами, чтобы увидеть, какие направления будут наиболее важными для платформы.
Приглашаем всех разработчиков ботов делиться идеями относительно нашего Bot API в нашей учетной записи @BotSupport .
Какие сообщения будет получать мой бот?
1. Все боты , независимо от настроек, получат:
- Все служебные сообщения.
- Все сообщения из приватных чатов с пользователями.
- Все сообщения от каналов, участником которых они являются.
2. Администраторы ботов и боты с отключенным режимом конфиденциальности будут получать все сообщения, кроме сообщений, отправленных другими ботами.
3. Боты с включенным режимом конфиденциальности получит:
- Команды, явно предназначенные для них (например, / command @ this_bot).
- Общие команды от пользователей (например, / start) если , то бот был последним ботом, отправившим сообщение группе.
- сообщений, отправленных через этого бота.
- Отвечает на любые сообщения, явно или неявно предназначенные для этого бота.
Примечание , что каждое конкретное сообщение может быть доступно только одному боту с включенной конфиденциальностью за раз, т.е.д. ответ боту A, содержащий явную команду для бота B или отправленный через бота C, будет доступен только боту A. Ответы имеют наивысший приоритет.
Почему мой бот не видит сообщения от других ботов?
Боты, разговаривающие друг с другом, потенциально могут застрять в нежелательных циклах. Чтобы этого избежать, мы решили, что боты не смогут видеть сообщения от других ботов независимо от режима.
Получение обновлений
Как мне получать обновления?
В настоящее время есть два способа получать обновления.Вы можете использовать либо длинный опрос, либо Webhooks. Обратите внимание, что не позволяет получать обновления с помощью длинного опроса , пока установлен исходящий Webhook.
Длинный опрос дает мне одни и те же обновления снова и снова!
Метод getUpdates возвращает 100 первых неподтвержденных обновлений. Чтобы подтвердить обновление, используйте параметр offset при вызове getUpdates следующим образом:
смещение = update_id последнего обработанного обновления + 1
Все обновления с update_id меньше или равным смещению будут помечены как подтвержденные на сервере и больше не будут возвращаться.
У меня проблемы с Webhooks.
Если вы успешно настроили веб-перехватчик, но не получаете никаких обновлений, помните:
- Для работы веб-перехватчиков необходим действующий сертификат SSL.
- Чтобы использовать самозаверяющий сертификат, вам необходимо загрузить сертификат открытого ключа с помощью параметра certificate в setWebhook. Пожалуйста, загрузите как InputFile, отправка строки не будет работать.
- Порты, которые в настоящее время поддерживаются для Webhooks: 443 , 80 , 88 , 8443 .
- Подстановочные сертификаты могут не поддерживаться.
- Перенаправления не поддерживаются.
- CN должен точно соответствовать вашему домену.
Пожалуйста, ознакомьтесь с этим новым WEBHOOK GUIDE , чтобы узнать все, что нужно знать о вебхуках!
У меня проблемы с самозаверяющим сертификатом!
Ознакомьтесь с этим руководством по самозаверяющим сертификатам, которое мы сделали специально для вас. Если вы прочитали это, но у вас все еще есть вопрос, напишите нам в службу поддержки ботов.
Как я могу убедиться, что запросы Webhook приходят из Telegram?
Если вы хотите убедиться, что запрос Webhook исходит от Telegram, мы рекомендуем использовать секретный путь в URL-адресе, который вы нам даете, например www.example.com/your_token. Поскольку никто другой не знает токен вашего бота, можете быть уверены, что это мы.
Как я могу делать запросы в ответ на обновления?
Это возможно, если вы используете веб-перехватчики. Достоинством является то, что вам нужно меньше запросов, и недостатком — в этом случае невозможно узнать, что такой запрос был успешным, или получить его результат.
Каждый раз, когда вы получаете обновление веб-перехватчика, у вас есть два варианта:
1. Отправьте POST на https://api.telegram.org/bot<token>/method
2. Ответьте напрямую и укажите метод как полезную нагрузку JSON в ответе
Вы также можете посмотреть наш пример HelloBot, он предлагает PHP-реализацию этого.
Обращение со СМИ
Как мне скачивать файлы?
Используйте метод getFile.Обратите внимание, что это будет работать только с файлами размером до 20 МБ.
Как загрузить большой файл?
Боты в настоящее время могут отправлять файлы любого типа размером до 50 МБ, так что да, очень большие файлы пока работать не будут. Сожалею. Этот лимит может быть изменен в будущем.
Могу ли я рассчитывать на то, что file_ids будет постоянным?
Да, file_ids можно рассматривать как постоянные.
Вещание пользователям
Мой бот достигает пределов, как мне этого избежать?
При отправке сообщений внутри определенного чата избегайте отправки более одного сообщения в секунду.Мы можем разрешить короткие пакеты, превышающие этот предел, но в конечном итоге вы начнете получать 429 ошибок.
Если вы отправляете массовые уведомления нескольким пользователям, API не будет разрешать более 30 сообщений в секунду или около того. Для достижения наилучших результатов рассмотрите возможность рассылки уведомлений через большие интервалы в 8–12 часов.
Также обратите внимание, что ваш бот не сможет отправлять более 20 сообщений в минуту в одну и ту же группу.
Как я могу отправить сообщение всем подписчикам моего бота сразу?
К сожалению, на данный момент у нас нет методов для массовой рассылки сообщений, например.г. уведомления. Мы можем добавить что-нибудь в этом роде в будущем.
Чтобы избежать выхода за наши пределы при рассылке массовых уведомлений, рассмотрите возможность их распространения на более длительные интервалы, например 8-12 часов. API не будет разрешать массовые уведомления для более чем ~ 30 пользователей в секунду, если вы перейдете через это, вы начнете получать 429 ошибок.
См. Также: Как избежать превышения лимита?
Если у вас есть вопросы, на которые нет ответов на этой странице, напишите нам на @BotSupport в Telegram.Мы приветствуем любые предложения по бот-платформе и API.
Как найти русского бота в социальных сетях
Насколько вы уверены, что человек, с которым вы страстно «спорите» в Интернете, — настоящий, дышащий человек? Как узнать, является ли он еще одним страстным сторонником той или иной темы, а не человеком, пользующимся поддержкой правительства (или кого-то еще)?
Обнаружить российских ботов или оплаченных шиллов — непростая задача.Однако это становится все более важным, поскольку обвинения во вмешательстве национальных государств в дела других продолжают звучать. Вы можете их заметить? Вот что вам нужно знать.
Боты vs.Шиллы
Начнем с различения ботов и шиллов.
Бот: Бот — это поддельная учетная запись в социальной сети, находящаяся под контролем организации или правительства, стремящихся повлиять на онлайн-сообщество.Например, бот Twitter настроен на ретвит определенных хэштегов и фраз в таком объеме, который усиливает конкретную тему. Другой пример — боты Reddit голосуют против взглядов, не согласных с мнением контроллера бота (при этом голосуя за тех, кто согласен). Для успеха на определенных платформах ботам требуется громкость, в то время как в других случаях лишь немногие могут начать определять направление разговора. И любой может создать бота для социальных сетей, используя Python.
Shill: Shill — другой.Шиллы — это реальные люди, активно участвующие в формировании онлайн (в данном случае) дискуссий и мнений, получая при этом плату в обмен на свое присутствие. Shills продвигают компании, правительства, общественных деятелей и многое другое для личной выгоды, по сути занимаясь пропагандой.
В зависимости от организации или правительства, shills могут работать вместе с крупными сетями ботов для создания интенсивных голосовых онлайн-движений.И хотя совместные усилия шиллеров и ботов формируют мнение в Интернете, эти усилия все больше затрагивают не только пользователей социальных сетей.
Эта практика также известна как astroturfing , когда организации и правительства курируют беседу через «обычных» представителей общественности.
Российские боты и шиллы
В преддверии президентских выборов 2016 года в США доминировали разговоры о российских ботах и шиллах.Комментаторы и критики посвятили огромное количество эфирного времени и колонок обсуждению роли поддерживаемых Россией ботов и критиков в влиянии на обсуждение определенных тем.
Фактически, Роберт Мюллер, специальный советник, расследующий вмешательство в президентские выборы, недавно предъявил обвинение 13 американским россиянам как участнику предполагаемой поддерживаемой Россией пропагандистской машины — Агентства интернет-исследований (IRA).
Обвинения во влиянии далеко идущие.Они варьируются от простого создания в Интернете звучащих американцев идентичностей до кражи личностей граждан США, травли активистов меньшинств и так называемых «воинов социальной справедливости» и создания групп в Instagram, таких как «Woke Blacks», для оказания влияния на голосование меньшинств. Есть и другие примеры.
Социальные сети — один из основных инструментов влияния.Платформы тоже знают, что есть проблема. В январе 2018 года Twitter сообщил, что отправил электронное письмо 677 775 людям в США, которые написали в Твиттере контент IRA. Одновременно с извинениями Twitter очищает учетные записи ботов, в результате чего хэштег #twitterlockout становится популярным среди преимущественно консервативно настроенных пользователей Twitter.
И несмотря на все крики о нечестной игре и несправедливом преследовании, есть свидетельства того, что «консерваторы ретвитировали российских троллей примерно в 31 раз чаще, чем либералы, и создали в 36 раз больше твитов.»
Более того, Twitter утверждает, что их очистка от ботов «аполитична» и что они обеспечивают соблюдение общесайтовых правил «без политической предвзятости.»
Итак, Twitter удаляет аккаунты русских ботов, тролляющих как активистов Республиканской партии, и что на их месте появляется? «Прогрессивные» русские боты троллят Демса, чтобы разделить нашу партию, как это сделали республиканцы.Смотри живьем, люди.
— Ами Вандерпул (@girlsreallyrule) 25 февраля 2018 г.
Нельзя сказать, что боты, шиллы и астротурфинг — единственная сфера компетенции консервативных подсчетов.
Еще в 2007 году сотрудники кампании Клинтона анонимно продвигали сайты, поддерживающие Хилари, в то время как во время президентских дебатов 2016 года кампания Клинтона стала предметом сотен тысяч автоматических бот-твитов (хотя значительно меньше, чем Дональд Трамп).
Не все боты
Twitter и другие социальные сети не заражены ботами, как вы думаете, некоторые публикации.Мы можем разбить взаимодействие ботов с хэштегами Twitter, чтобы понять, как их сторонники пытаются повлиять на общение.
Проект вычислительной пропаганды (CCP), спонсируемый Оксфордским университетом, внимательно изучает эти взаимодействия.В приведенной ниже таблице [PDF] показана разница в автоматизации между взаимодействиями с хэштегами сторонников Трампа и Хилари, а также общий процент неавтоматических твитов с 1 по 9 ноября 2016 года:
CCP определяет высокую степень автоматизации как «учетные записи, которые публикуют сообщения не менее 50 раз в день», используя по крайней мере один из хэштегов для конкретных выборов.В исследовании рассматривается все, что ниже этого порога, с низким уровнем автоматизации — другими словами, реальный человек. В таблице показан гораздо более высокий процент автоматизации низкого уровня, что указывает на то, что взаимодействует гораздо большее количество обычных пользователей.
В исследовании действительно отмечается, что некоторые пользователи-люди неизбежно попадают в категорию высокой автоматизации.В нем также отмечается, что в учетных записях, демонстрирующих высокую степень автоматизации, также очень редко используются термины из скобки смешанного кластера хэштегов (за исключением комбинаций Трампа и Клинтона из-за большого количества ретвитов).
Мы никогда не узнаем полной картины того, сколько ботов работает на той или иной платформе социальных сетей.По оценкам последних исследований [PDF], автоматизированные боты составляют почти 15 процентов всех пользователей Twitter, в результате чего общее количество превышает 40 миллионов индивидуальных аккаунтов ботов .
Центр протеста Дауа
Ярким примером прямого российского влияния является протест в Хьюстонском Да’ва Центре 2016 года.
Группа в Facebook «Сердце Техаса» разместила объявление о поиске сочувствующих для участия в акции протеста «против исламизации Техаса».«Акция протеста была назначена на полдень 21 мая, митинг в Центре Да’ва. В то же время другая группа — так называемые« Объединенные мусульмане Америки »- организовывала контрпротест в то же время и место.
Две группы встретились в центре, и, как и ожидалось, «взаимодействие между двумя группами в конечном итоге переросло в конфронтацию и словесные нападения.»
В то время ни одна из групп протестующих не осознавала, что их группа ненастоящая.Так сказать; Эти группы были конструкцией поддерживаемой Россией «фермы троллей», которая существует исключительно для манипулирования политической, расовой и религиозной напряженностью в США.
Распознать ботов и шиллеров в социальных сетях не всегда легко.Почему? Потому что иначе еще человек поняли бы, что происходит.
Не поймите меня неправильно; мы все взаимодействуем с ботами и шиллами, такова сама природа социальных сетей в 2018 году.Операторы получают тысячи долларов в месяц, чтобы тонко (а иногда и более нагло) влиять на разговор.
Однако следует помнить о некоторых советах по обнаружению ботов:
- Аккаунт только репостит / ретвитит, никогда не публикует собственные сообщения, отправляя тот же ответ другим людям.
- Учетные записи, которые репостят / ретвитят только комментарии, сделанные несколькими другими аналогичными учетными записями (некоторые из которых также, вероятно, являются ботами).
- Некоторые аккаунты быстро (вероятно, автоматически) публикуют сообщения в ответ на «запускающие» темы быстрее, чем это возможно для человека.
- Человеческие циклы. Реальные люди, как правило, публикуют сообщения сразу на разные темы, а также имеют заметное время простоя для дневных и ночных циклов.
- Изображения профиля по умолчанию. Например, профиль в Facebook с изображением мужчины или женщины или профиль в Twitter с изображением яйца по умолчанию.
- Профили, которые широко распространены вокруг крупных событий — выборов, скандалов, террористических атак — но остаются бездействующими в остальное время. На предстоящих промежуточных выборах 2018 года несколько учетных записей ботов будут повторно активированы.
Также стоит обратить внимание на автоматические системные голоса против на таких сайтах, как Reddit.Боты улавливают заголовок сообщения и сразу же начинают отрицать комментарии, которые не соответствуют их программам. (Голосование вниз скрывает комментарии, а также их ответы от других пользователей, и это простой способ воспрепятствовать несогласным взглядам.)
Как найти шилла в социальных сетях
Распознать оплаченные шиллы сложнее, поскольку ответственность за поддержание внешнего вида обычного пользователя социальных сетей лежит на аккаунте.Посты, продвигающие определенную тему или формирующие онлайн-беседу, могут попадать в число обычных обычных тем для обсуждения, чтобы не вызывать подозрений.
Некоторые распространенные тактики включают:
- Изменение повествования горячей темы на что-то, что продвигает повестку дня того, кто заплатил за шилл
- Последовательная атака на то, что не было частью первоначального разговора (иногда это называется «что насчет того, что?», Когда шилл спорит, используя такие термины, как «а как насчет того, когда X сделал Y»)
Еще одна тактика обнаружения — это человеческий цикл.Обычным людям нужно спать, есть, пить и так далее. Если единственной учетной записи удается постоянно публиковать сообщения в единой повестке дня в течение 24-часовых периодов, вероятно, что-то происходит.
Но «действительно хорошие» шиллы работают очень тяжело.Вместо того, чтобы просто атаковать и опровергать мнение и пытаться сформировать дискуссию, они будут медленно подружиться и проникнуть в группу, прежде чем приступить к работе.
Можно ли остановить русских ботов?
К сожалению, кроме сообщения о подозрительных учетных записях, прямых действий против учетных записей shill или ботов мало.Как говорится, троллей не кормите.
Промежуточные выборы 2018 года уже не за горами (проверьте политическую предвзятость любого сайта в ближайшее время).Хотя влияние учетных записей shill и ботов, возможно, больше, чем когда-либо, теперь вы знаете больше о том, как определять определенные типы поведения.
Однако Twitter — это не только боты и тролли.Социальные сети могут оказать положительное влияние на мир.
Кредит изображения: raptorcaptor / Depositphotos
Что такое периферийные вычисления?Периферийные вычисления — это то же самое, что и облачные вычисления, или что-то совершенно другое?
Об авторе Гэвин Филлипс (Опубликовано 653 статей)Гэвин — младший редактор отдела Windows and Technology Explained, постоянный участник Really Useful Podcast и редактор дочернего сайта MakeUseOf, посвященного криптографии, Blocks Decoded.У него есть степень бакалавра (с отличием) в области современного письма с использованием методов цифрового искусства, разграбленных на холмах Девона, а также более десяти лет профессионального писательского опыта. Он любит много пить чая, настольные игры и футбол.
Ещё от Gavin PhillipsПодпишитесь на нашу рассылку новостей
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Еще один шаг…!
Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.
Карл-бот
Раньше вам нужен был бот для потоковых объявлений, бот для пользовательских команд, бот для управления ролями и так далее…
Carlbot делает то же, что и самые популярные боты, но делает это лучше, быстрее и без команд мемов, которые спамят и раздражают вас. Carlbot был использован для уменьшения количества ботов, необходимых на сервере, с 3 до 4 или более… до всего 1.
- Доступ к панели управления Carlbot через веб-браузер на компьютере или планшете; даже с телефона
- Включает простой в использовании конструктор встраивания с палитрой цветов для простых работ или настраиваемых цветов для тех из вас, кому это нужно.
- Управление префиксом и ником бота
- Разрешения команд
- Приветственные / прощальные сообщения (со вставками)
- Создание правого борта и управление им прямо из сети
- Управление настройками автомод
- Настроить ведение журнала
- Настроить автороли и закрепленные роли
- Создавайте и редактируйте собственные команды, ответы и повторяющиеся объявления прямо с веб-сайта (с встраиванием)
- Молниеносно быстрый, элегантный дизайн и мгновенные обновления.Вы не ошибетесь.
Autoroles
- Carlbot может назначать роли пользователям, когда они присоединяются к вашему серверу, и с помощью липких ролей — переназначать эту роль, если они уходят и присоединяются снова.
Автозапуск с задержкой
- Отлично подходит для назначения роли, которая удерживает участников в канале #rules достаточно долго, чтобы их прочитать (надеюсь)
Роли реакции
Роли реакции Карлбота: быстрые , чрезвычайно простые в настройке, настраиваемые и не ограничивающие вас.В отличие от некоторых других ботов, предлагающих роли реакции, Carlbot допускает «уникальные роли», то есть участники могут выбирать только одну роль из сообщения (полезно для цветов).
Какие у него ограничения?
250 ролей общей реакции (1000 для постоянных посетителей) кроме этого? Практически ничего.
‣ Нужно добавить 250 ролей в одно сообщение? Странно, но технически выполнимо.
‣ Хотите, чтобы роли назначали одну из многих ролей, но для всех ролей реакции применялась роль разделителя? Этот бот делает это!
‣ Хотите ограничить количество людей с ролью? Выполнимо!
‣ Хотите, чтобы сообщение самоуничтожилось?
‣ Хотите занести в черный список роли из набора ролей?
‣ Хотите быстро реагирующего бота со встроенной защитой от злоупотреблений? Этот бот делает все.
‣ Хотите назначить одну роль для одного сообщения на канал? Действуй!
‣ Нужно добавить 250 ролей в одно сообщение? Странно, но технически выполнимо.
! Rr make
— это команда интерактивной установки, позволяющая начать работу с ролями реакции. Это поможет вам создать встраивание и добавить к нему роли реакции. Кроме того, чтобы пометить сообщение как «уникальное» (участники могут получить от него только одну роль) используйте! Rr unique
, вы можете увидеть идентификаторы сообщений для всех сообщений ролей реакции, набрав! Rr show
Размещать пригласительные ссылки на другие серверы — это против правил вашего сервера? Функции автомодели Carlbot будут автоматически выполнять указанные меры наказания, включая возможность немедленного удаления сообщения, временную блокировку или отключение звука отправителя и т. Д.
Пандоработ Документация
GET / bot / {app_id}
Список ботов
Замечания по реализации
Получите список ботов вашего приложения. Ответ возвращает объект JSON с информацией для каждого бота.
Возвращает код ошибки 401 для недопустимого app_ID или user_key, или, если применимо, недопустимого реферера.
curl -v -X GET 'https: //api.pandorabots.com / bot / APP_ID? user_key = USER_KEY '
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
PUT / bot / {app_id} / {botname}
Создать бота
Замечания по реализации
Создайте новый экземпляр бота на сервере Pandorabots.
Если бот под тем же app_id и именем бота уже существует, возвращается ошибка 409. Неверное имя бота вернет ошибку 400.
Создание большего количества ботов, чем позволяет ваш план, или использование недопустимого app_id или user_key (или, если применимо, фильтра реферера), возвращает ошибку 401.
curl -v -X PUT 'https://api.pandorabots.com/bot/APP_ID/BOTNAME?user_key=USER_KEY'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Должен быть уникальным среди всех других ботов, созданных вами под этим app_id.Могут быть только цифры и строчные буквы и должны быть длиной от 3 до 64 символов. | путь | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
УДАЛИТЬ / bot / {app_id} / {botname}
Удалить бота
Замечания по реализации
Удалить бота на сервере Pandorabots.
Удаление несуществующего бота возвращает ошибку 412. Неверное имя бота вернет ошибку 400. Неверный app_id, user_key или фильтр реферера вернет ошибку 401.
curl -v -X DELETE 'https://api.pandorabots.com/bot/APP_ID/BOTNAME?user_key=USER_KEY'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя удаляемого бота. | путь | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
GET / bot / {app_id} / {botname}
Список файлов бота
Замечания по реализации
Получить список файлов бота.Возвращает объект JSON с каждым файлом бота, связанным с указанным ботом.
Возвращает код ошибки 404, если бот не найден. Возвращает код ошибки 401 для недопустимого app_ID, user_key или фильтра реферера.
Параметр return = zip
может работать не так, как ожидалось при использовании Active Docs 1.2
curl -v -X GET 'https://api.pandorabots.com/bot/APP_ID/BOTNAME?user_key=USER_KEY'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя бота. | путь | строка |
возврат | Если установлено значение zip, будет возвращен zip-файл со всеми файлами бота. | запрос | строка | |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
PUT / bot / {app_id} / {botname} / {file-kind} / {filename}
Загрузить файл бота (AIML, набор, подстановка, карта)
Замечания по реализации
Загрузите файлы личности бота в своего бота.Файлы должны называться только строчными буквами и цифрами с одним из следующих расширений:
AIML: Расширение — .aiml, тип файла — файл
Наборы: Расширение — .set, тип файла — набор
Карты: Расширение — .map, тип файла — карта
Замены: Расширение -. Замена, вид файла — замена
Система перезапишет существующие файлы загружаемым файлом.
Если запрос неверен из-за недопустимого имени файла или неправильного формата JSON для файлов, отличных от AIML, возвращается ошибка 400.Для искаженного типа файла возвращается ошибка 404. В случае недопустимого имени файла или бота возвращается ошибка 412.
Если спецификация Active Doc не работает с этим API, используйте следующие примеры команды curl:
curl -v -X PUT 'https://api.pandorabots.com/bot/APP_ID/BOTNAME/file/foobot.aiml?user_key=USER_KEY'
--data-binary @ / home / foo / foobot.aiml
curl -v -X PUT 'https://api.pandorabots.com/bot/APP_ID/BOTNAME/set/colors?user_key=USER_KEY'
--data-binary @ / home / foo / colors.набор
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя вашего бота | путь | строка |
файл-вид | (обязательно) | Укажите тип загружаемого файла: файл (для файлов AIML), карта, подстановка, набор | путь | строка |
имя файла | (обязательно) | Имя файла для загрузки должно содержать только строчные буквы и цифры.Примечание: для файлов, отличных от AIML, не включайте расширение файла в путь. | путь | строка |
содержание | Тип содержимого параметра: application / xml | Введите или вставьте содержимое файла. | кузов | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
PUT / bot / {app_id} / {botname} / {file-kind}
Загрузить файл бота (pdefaults, properties)
Замечания по реализации
Загрузите файлы личности бота в своего бота.Файлы должны называться только строчными буквами и цифрами с одним из следующих расширений:
Свойства: Расширение — .properties, тип файла — свойства, имя файла не требуется в пути
Параметры предиката по умолчанию: Расширение — .pdefaults, тип файла — pdefaults, Имя файла не требуется в пути
Система перезапишет существующие файлы загружаемым файлом.
Для искаженного JSON в файлах, отличных от AIML, возвращается ошибка 400.Для искаженного типа файла возвращается ошибка 404. В случае недопустимого имени файла или бота возвращается ошибка 412.
Если спецификация Active Doc не работает с этим API, используйте следующие примеры команды curl:
curl -v -X PUT 'https://api.pandorabots.com/bot/APP_ID/BOTNAME/properties?user_key=USER_KEY'
--data-binary @ / home / foo / foobot.properties
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя вашего бота | путь | строка |
файл-вид | (обязательно) | Укажите тип загружаемого файла: pdefaults, properties | путь | строка |
содержание | Тип содержимого параметра: application / xml | Введите или вставьте содержимое файла. | кузов | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
УДАЛИТЬ / bot / {app_id} / {botname} / {file-kind} / {filename}
Удалить файл бота (AIML, набор, карта, подстановка)
Замечания по реализации
Удаление файла бота AIML, набора, сопоставления или замены
Для искаженного типа файла возвращается ошибка 404.В случае недопустимого имени файла или бота возвращается ошибка 412.
curl -v -X DELETE 'https://api.pandorabots.com/bot/APP_ID/BOTNAME/FILE-KIND/FILENAME?user_key=USER_KEY'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя бота. | путь | строка |
файл-вид | (обязательно) | Укажите тип удаляемого файла: файл (для файлов AIML), карта, подстановка, набор | путь | строка |
имя файла | (обязательно) | Имя файла для удаления. Примечание: для файлов, отличных от AIML, не включайте расширение файла в путь. | путь | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
УДАЛИТЬ / bot / {app_id} / {botname} / {file-kind}
Удалить файл бота (pdefaults, properties)
Замечания по реализации
Удалить pdefaults или файл свойств бота.
Для искаженного типа файла возвращается ошибка 404. В случае неверного имени бота возвращается ошибка 412.
curl -v -X DELETE 'https://api.pandorabots.com/bot/APP_ID/BOTNAME/FILE-KIND?user_key=USER_KEY'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя бота. | путь | строка |
файл-вид | (обязательно) | Укажите тип удаляемого файла: pdefaults, properties | путь | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
GET / bot / {app_id} / {botname} / {file-kind} / {filename}
Получить файл бота (AIML, набор, карта, замена)
Замечания по реализации
Получить файл бота AIML, набора, карты или замещения.
Для искаженного типа файла возвращается ошибка 404. В случае недопустимого имени файла или имени бота возвращается ошибка 400. Для неизвестного бота или файла возвращается ошибка 412.
curl -v -X GET 'https://api.pandorabots.com/bot/APP_ID/BOTNAME/FILE-KIND/FILENAME?user_key=USER_KEY'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя бота. | путь | строка |
файл-вид | (обязательно) | Укажите тип извлекаемого файла: файл (для файлов AIML), карта, подстановка, набор | путь | строка |
имя файла | (обязательно) | Имя файла для извлечения. Примечание: для файлов, отличных от AIML, не включайте расширение файла в путь. | путь | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
GET / bot / {app_id} / {botname} / {file-kind}
Получить файл бота (pdefaults, properties)
Замечания по реализации
Получить pdefaults или файл свойств бота.
Для искаженного типа файла возвращается ошибка 404. В случае недопустимого имени бота возвращается ошибка 400. Для неизвестного бота или файла возвращается ошибка 412.
curl -v -X GET 'https://api.pandorabots.com/bot/APP_ID/BOTNAME/FILE-KIND?user_key=USER_KEY'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя бота. | путь | строка |
файл-вид | (обязательно) | Укажите тип получаемого файла: pdefaults, properties | путь | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
GET / bot / {app_id} / {botname} / verify
Скомпилировать бота
Замечания по реализации
Личность бота создается путем загрузки AIML и других типов файлов в Pandorabots.Для запуска бота файлы должны скомпилироваться правильно. Вызывая этот API, Pandorabots скомпилирует бота, обновив любые изменения, внесенные в файлы.
При компиляции бота его последняя версия становится доступной для обсуждения. Ошибка 400 означает, что нам не удалось скомпилировать вашего бота (вы должны проверить свои файлы на наличие проблем с синтаксисом) или имя бота не было найдено.
Вы можете увидеть любые выданные ошибки в поле результатов возвращенного объекта JSON:
curl -v -X GET 'https: // api.pandorabots.com/bot/APP_ID/BOTNAME/verify?user_key=USER_KEY '
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
app_id | (обязательно) | Идентификатор вашего приложения | путь | строка |
имя бота | (обязательно) | Имя вашего бота | путь | строка |
user_key | (обязательно) | Ключ пользователя вашего приложения. | запрос | строка |
ПОСТ / обсуждение
Поговорите с ботом (Public Botkey)
Замечания по реализации
Начните или продолжите разговор с ботом, используя Talk API с вашим публичным бот-ключом. Pandorabots вернет новый идентификатор сеанса, если он не включен в вызов. Используйте идентификатор сеанса, возвращенный для группового взаимодействия, чтобы просмотреть его в журналах бота на панели управления.Если вы не укажете имя клиента, Pandorabots будет считать, что клиент — это ваше приложение, и все предикаты и переменная информация будут связаны с вашим приложением. Предикаты, назначенные clientname, сохраняются только во время активного разговора и сбрасываются после определенного периода простоя.
ПРИМЕЧАНИЕ. Если вы отправляете своему боту несколько предложений в одном вводе, ответ API будет включать несколько ответов бота.
См. «Anonymous Talk API» для получения подробной информации о том, как вы можете поддерживать постоянные предикаты для ваших конечных пользователей.
Неправильные запросы, такие как превышение размера ввода или недопустимое имя клиента, возвращают код ошибки 400. Код ошибки 412 возвращается, если бот не скомпилирован или не существует. Код ошибки 429 возвращается, если ваше приложение достигло максимального лимита вызовов API плана.
Массив ответов будет содержать один элемент (ответ) на каждое предложение, которое вы вводите боту. Вы можете настроить, какие символы разделяют новое предложение во входных данных, изменив свойство предложения-разделители в файле свойств вашего бота.
curl -v -X POST 'https://api.pandorabots.com/talk?botkey=BOTKEY&input=INPUT'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
botkey | (обязательно) | Открытый ключ вашего бота | путь | строка |
вход | (обязательно) | Сообщение для отправки боту.Он может содержать несколько предложений. В настоящее время ограничение составляет 2000 символов. | запрос | строка |
имя_клиента | Определяет конечного пользователя вашего приложения. Вы можете назначить каждому из ваших конечных пользователей уникальное имя client_name. Это позволит вам установить предикаты и другую переменную информацию, специфичную для конкретного человека. Требуемый формат: 3–64 символа и только цифры или строчные буквы [0–9] [a – z] | запрос | строка | |
sessionid | Идентификатор сеанса, созданный Pandorabots.Это позволяет приложению при необходимости группировать отдельные разговоры в коллекцию. Если он не включен в вызов, Pandorabots выдаст новый идентификатор сеанса. (4-байтовый целочисленный тип) | запрос | строка | |
недавние | Если true, система не будет сигнализировать об ошибке, если бот не компилируется, а вместо этого будет искать доступную предыдущую версию бота. | запрос | строка | |
то | В целях отладки вы можете указать «that» для ввода, который заменяет существующий в памяти бота. | запрос | строка | |
тема | В целях отладки вы можете указать «тему» с вводом, которая заменяет существующую тему в памяти бота. | запрос | строка | |
дополнительный | Вернуть дополнительную информацию о разговоре. Если true, в дополнение к response и sessionid возвращаются input, pattern, that, topic, filename и template, связанные с совпавшим шаблоном. | запрос | строка | |
сброс | Сбросить память бота. Если true, все значения предикатов в боте будут отброшены, и пользователь сможет разговаривать с ботом, как если бы это был первый раз | запрос | строка | |
след | Включить данные трассировки в ответ. Если true, система будет генерировать информацию трассировки AIML для ввода.Данные трассировки включают сопоставленный шаблон, имя файла, ввод, шаблон для всех уровней рекурсии. ПРИМЕЧАНИЕ: по соображениям безопасности трассировка не работает с client_name. | запрос | строка | |
перезагрузить | Если true, система принудительно перезагрузит бота в память. Это может быть полезно, если вы недавно загрузили файл AIML, перекомпилировали своего бота и хотите получить доступ к последним изменениям вашего бота. | запрос | строка | |
недавние | Если true, система не будет сигнализировать об ошибке, если бот не компилируется, а вместо этого будет искать доступную предыдущую версию бота. | запрос | строка |
ПОСТ / atalk
Анонимный разговор (общедоступный бот-ключ)
Замечания по реализации
Начать разговор с ботом с помощью API анонимного разговора. Этот метод позволит вам запросить создание конечного пользователя client_name, которое может поддерживать постоянные предикаты для каждого конечного пользователя, разговаривающего с вашим ботом. Если client_name НЕ отправляется в запросе, Pandorabots создаст имя client_name конечного пользователя и вернет его в ответе.Подобно Talk to Bot API, Pandorabots также вернет новый идентификатор сеанса, если он не включен в вызов. Используйте идентификатор сеанса, возвращенный для группового взаимодействия, чтобы просмотреть его в журнале бота на панели управления.
Помимо ответа бота и идентификатора сеанса, HTTP-ответ будет включать новое имя_клиента конечного пользователя в следующем формате:
aiaas-XXX-user-nnnn, где XXX — ваш app_ID, а nnnn — числовое значение, начинающееся с 0000 и увеличивающееся после каждый запрос.
Неправильные запросы, такие как превышение размера ввода или неизвестное имя_клиента конечного пользователя, возвращают код ошибки 400.Код ошибки 412 возвращается, если бот не скомпилирован или не существует. Код ошибки 429 возвращается, если ваше приложение достигло максимального лимита вызовов API плана.
curl -v -X POST 'https://api.pandorabots.com/atalk/APP_ID/BOTNAME?user_key=USER_KEY&input=INPUT'
Параметры
Параметр | Значение | Описание | Тип параметра | Тип данных |
---|---|---|---|---|
botkey | (обязательно) | Открытый ключ вашего бота | путь | строка |
вход | (обязательно) | Сообщение для отправки боту.Он может содержать несколько предложений. В настоящее время ограничение составляет 2000 символов. | запрос | строка |
имя_клиента | Оставьте поле пустым, чтобы запросить у Pandorabots создание client_name, которое будет поддерживать постоянные предикаты. Включение действительного client_name в этот параметр будет работать так же, как Talk to Bot API, но с постоянными предикатами. Рекомендуется использовать этот API только для создания имени клиента client_name конечного пользователя, а затем использовать обычный Talk to Bot API для продолжения разговора с ботом. | запрос | строка | |
sessionid | Идентификатор сеанса, созданный Pandorabots. Это позволяет приложению при необходимости группировать отдельные разговоры в коллекцию. Если он не включен в вызов, Pandorabots выдаст новый идентификатор сеанса. (4-байтовый целочисленный тип) | запрос | строка | |
недавние | Если true, система не будет сигнализировать об ошибке, если бот не компилируется, а вместо этого будет искать доступную предыдущую версию бота. | запрос | строка |
Пользовательские команды чата 💬 для вашего бота Twitch
Пользовательские команды чата помогут вам свести к минимуму усилия, которые вы тратите на повторение себя, так что вместо этого вы можете взаимодействовать и развлекать свою аудиторию.
С помощью своих пользовательских команд чата вы можете создавать для этой цели свои собственные специальные команды чата Twitch с их собственными именами и ответами в чате Twitch.
Использование команды чата в чате Twitch
Чтобы использовать команду чата, вы просто отправляете обычное сообщение в чат, например, «! Команда»
, где «Команда»
— имя команды чата.Сначала идет «!»
, затем название команды чата.
После этого ваш Moobot ответит на команду чата.
Вы также можете отправлять команды чата со своей панели управления через виджет управления.
Совет : ваши зрители и моды Twitch также могут использовать ваши команды чата, что позволяет вам сосредоточиться на чем-то другом.
Каждый раз, когда кто-то спрашивает что-то, на что команда чата может ответить, ваши моды Twitch могут использовать команду типа«! Command @username»
, и упомянутый пользователь увидит ответ, выделенный в своем чате Twitch.
Добавление команды чата
Просто выполните следующие действия, чтобы добавить команду чата в свой чат Twitch:
- Откройте меню
«Команды»
из главного меню, затем откройте оттуда меню«Пользовательские команды»
. - Введите имя вашей команды чата в поле
«Имя команды»
в нижней части меню. Например.«Twitter»
, если вы хотите использовать команду в чате Twitch, например,«! Twitter»
. - Нажмите кнопку
«Создать»
после того, как вы выбрали и ввели имя для своей команды чата. - В меню редактирования для вашей новой команды чата найдите вход
«Response»
и введите сообщение, которым вы хотите, чтобы команда чата ответила в чате Twitch. - Нажмите кнопку
«Сохранить»
внизу меню.
Вот и все! Теперь ваша команда чата готова, и вы можете использовать ее, отправив сообщение «! Command»
в свой чат Twitch (wh