Как сделать кнопки в сообщениях ВК

API для чат-ботов, часть 3 | Разработчикам | ВКонтакте Чтобы включить клавиатуры в сообществе, перейдите в «Управление сообществом» → «Сообщения» → «Настройки для бота» и включите “Возможности ботов”. Там же можно добавить кнопку «Начать».

Как включить кнопки ВК?

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

Что такое Bot кнопки?

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

Что такое inline кнопки?

Inline — Клавиатура привязанная к конкретному сообщению бота. Данная клавиатура отправляет боту данные, привязанные к нажатой кнопке, эти данные могут отличаться от текста, написанного на самой кнопке. И обрабатываются такие кнопки через CallbackQueryHandler.

[ВК чат-бот] Как создать кнопки в чат-боте ВКонтакте

Как работает бот в ВК?

Как работает чат-бот ВКонтакте

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

Где кнопка управление сообществом в ВК?

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

Как добавить адрес в контакте?

  1. Открываем раздел «Управление сообществом», переходим во вкладку «Адреса» и включаем их.
  2. Нажимаем на кнопку «Добавить адрес» и заполняем предоставленную форму.
  3. Адрес заполнен и теперь можно указать номер телефона, если таковой имеется, и добавить время работы:

Как в Телеграм боте сделать кнопки?

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

  1. Введите название команды. .
  2. Введите описание — то, для чего можно использовать данную команду. .
  3. Выберите цепочку, которая запустится после выбора команды из списка.
  4. Нажмите “Добавить”, чтобы добавить команду в меню.
Еще по теме:  Как заблокировать контакт в Вконтакте

Что такое инлайн в телеграмме?

Инлайн-режим (inline mode) — это специальный режим работы бота, с помощью которого пользователь может использовать бота во всех чатах. Выглядит это так: пользователь вводит юзернейм бота в поле для ввода сообщения. После юзернейма можно ещё записать запрос (текст до 256 символов).

Как создать бота в телеграмме для продаж?

Как прикрепить ссылку в телеграмме?

Для этого следуйте инструкции: Откройте диалог с пользователем и напишите текст. Не отправляя сообщение, выделите нужную часть текста и нажмите комбинацию клавиш «Ctrl+K». Укажите ссылку в поле «URL», нажмите кнопку «Добавить».

Как общаться с ботами в ВК?

Что такое бот в контакте?

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

Источник: shnurovik.ru

В VK добавили Callback кнопки для ботов

Использовать callback

.

Доброго времени суток, уважаемые жителя Хабра)
Мой первый пост. Будет кратко, емко и надеюсь актуально.

9го июля ВК выкатил callback кнопки для чат-ботов. Телеграм напрягся сделал это в 199. давно. Самая популярная библиотека для разработки чат-ботов под ВК на Python — vk_api (от разработчика python273). Ввиду того, что свежие правки в нее вносятся медленно, я взял на себя смелость сделать форк, дополнить его и описать небольшой пример использования.

Что сделано относительно исходной v11.80?

  1. Обновлены ограничения по клавиатуре (в соответствии с изменениями в API):
    • не более 5 кнопок в строке (было 4);
    • не более 10 и 6 строк для стандартного и inline представления соответственно (было 10 и там, и там);
    • Default кнопка переименована в Secondary.
    • Добавлены callback-кнопки:
      • новый тип события «message_event» (клик по кнопке);
      • новый метод «создать callback кнопку»;
      • добавлен example (анимация работы и код будут приведены ниже).

      Виды callback кнопок

      У сallback кнопок 3 встроенных действия по клику (+ редактирование сообщения):

      1. show_snackbar — показать всплывающее сообщение (исчезает через 10 сек);
      2. open_link — открыть URL ссылку;
      3. open_app — открыть ВК приложение;
      4. можно настроить редактирование текущего сообщения, дабы по клику можно было изменять клавиатуру + текст в текущем сообщении.

      Как установить модифицированную библиотеку?

      pip install git+https://github.com/chebotarevmichael/vk_api

      Код примера по частям

      Импорты. Думаю, с ними все понятно.

      from vk_api import VkApi from vk_api.utils import get_random_id from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType from vk_api.keyboard import VkKeyboard, VkKeyboardColor import json

      Настройка и запуск бота. Указываем идентификатор и longpoll-токен группы.
      Для использования кнопки «открыть ВК приложение» указываем идентификатор приложения и его владельца.

      # Общие GROUP_ID = ‘100. 500’ GROUP_TOKEN = ‘df2148cc7c664. токен_группы. df2148cc7c6642242531fad399’ API_VERSION = ‘5.120’ # для callback-кнопки «открыть приложение» APP_ID = 100500 # id IFrame приложения OWNER_ID = 123456 # id владельца приложения # виды callback-кнопок CALLBACK_TYPES = (‘show_snackbar’, ‘open_link’, ‘open_app’) # Запускаем бот vk_session = VkApi(token=GROUP_TOKEN, api_version=API_VERSION) vk = vk_session.get_api() longpoll = VkBotLongPoll(vk_session, group_id=GROUP_ID)

      Создаем два меню.
      В первом меню — все 4 упомянутых выше действия кнопок.
      Во втором — только кнопка «назад», возвращающая предыдущее меню.

      .

      # Настройки для обоих клавиатур settings = dict(one_time=False, inline=True) # №1. Клавиатура с 3 кнопками: «показать всплывающее сообщение», «открыть URL» и изменить меню (свой собственный тип) keyboard_1 = VkKeyboard(**settings) # pop-up кнопка keyboard_1.add_callback_button(label=’Покажи pop-up сообщение’, color=VkKeyboardColor.SECONDARY, payload=) keyboard_1.add_line() # кнопка с URL keyboard_1.add_callback_button(label=’Откртыть Url’, color=VkKeyboardColor.POSITIVE, payload=) keyboard_1.add_line() # кнопка по открытию ВК-приложения keyboard_1.add_callback_button(label=’Открыть приложение’, color=VkKeyboardColor.NEGATIVE, payload=) keyboard_1.add_line() # кнопка переключения на 2ое меню keyboard_1.add_callback_button(label=’Добавить красного ‘, color=VkKeyboardColor.PRIMARY, payload=) # №2.

      Клавиатура с одной красной callback-кнопкой. Нажатие изменяет меню на предыдущее. keyboard_2 = VkKeyboard(**settings) # кнопка переключения назад, на 1ое меню. keyboard_2.add_callback_button(‘Назад’, color=VkKeyboardColor.NEGATIVE, payload=)

      Запускаем long poll.

      Запускаем действо. Если пользователь присылает текстовое сообщение — выдаем первое меню.

      Если это событие «клик по callback кнопке» — выполняем определенное действие (одно из 3+1 действий, упомянутых выше).

      f_toggle: bool = False for event in longpoll.listen(): # отправляем меню 1го вида на любое текстовое сообщение от пользователя if event.type == VkBotEventType.MESSAGE_NEW: if event.obj.message[‘text’] != »: if event.from_user: # Если клиент пользователя не поддерживает callback-кнопки, # нажатие на них будет отправлять текстовые # сообщения. Т.е. они будут работать как обычные inline кнопки. if ‘callback’ not in event.obj.client_info[‘button_actions’]: print(f’Клиент не поддерж. callback’) vk.messages.send( user_id=event.obj.message[‘from_id’], random_id=get_random_id(), peer_id=event.obj.message[‘from_id’], keyboard=keyboard_1.get_keyboard(), message=event.obj.message[‘text’]) # обрабатываем клики по callback кнопкам elif event.type == VkBotEventType.MESSAGE_EVENT: # если это одно из 3х встроенных действий: if event.object.payload.get(‘type’) in CALLBACK_TYPES: # отправляем серверу указания как какую из кнопок обработать.

      Это заложено в # payload каждой callback-кнопки при ее создании. # Но можно сделать иначе: в payload положить свои собственные # идентификаторы кнопок, а здесь по ним определить # какой запрос надо послать. Реализован первый вариант. r = vk.messages.sendMessageEventAnswer( event_id=event.object.event_id, user_id=event.object.user_id, peer_id=event.object.peer_id, event_data=json.dumps(event.object.payload)) # если это наша «кастомная» (т.е. без встроенного действия) кнопка, то мы можем # выполнить edit сообщения и изменить его меню.

      Но при желании мы могли бы # на этот клик открыть ссылку/приложение или показать pop-up. (см.анимацию ниже) elif event.object.payload.get(‘type’) == ‘my_own_100500_type_edit’: last_id = vk.messages.edit( peer_id=event.obj.peer_id, message=’ola’, conversation_message_id=event.obj.conversation_message_id, keyboard=(keyboard_1 if f_toggle else keyboard_2).get_keyboard()) f_toggle = not f_toggle if __name__ == ‘__main__’: print()

      Как выглядит процесс

      Заключение

      Тот факт, что callback-кнопки наконец-то появились в ВК — радует. И пусть пока они работают только под мобильными приложениями, а в браузере — не поддерживают. Пусть в браузере inline-кнопки все еще не выравнивается по ширине. Все же их наличие хоть в каком-то виде — искренне радует меня, как разработчика коммерческого телеграмм-бота.

      Теперь появилась возможность реализовать ВК-интерфейс для своего телеграм-бота, где в разы больше жителей РФ, т.е целевой аудитории. Этот факт заставляет мириться со всеми перечисленными неудобствами и минусами, и идти к горе, раз она не хочет идти к Магомеду. На скриншоте ниже реализация одного и того же интерфейса через callback-кнопки: справа в Телеграм, и слева — ВКонтакте.

      .

      Надеюсь, кому-то этот краткий обзор поможет начать использовать callback кнопки в своих ботах. Pull-request автору библиотеки отправлен.

      Источник: temofeev.ru

      Свой текст кнопки “Мне нравится” Вконтакте. Динамический контент.

      Виджет. Кнопка

      Убил несколько дней, пока разобрался до конца со всеми наворотами кнопок “мне нравится” от вконтакте и facebook. Как быть с динамическим контентом? Как изменять текст поста на стену?
      Про фейсбук в другой статье подробно напишу, принципы там другие. Пока хочу остановиться на популярной кнопке “Мне нравится” от Вконтакте.

      Сейчас она уже очень отличается от первых прототипов, который были просто ссылками на страницы-обработчики контакта, и от тех, что уже со счетчиками были.

      В настоящее время кнопка “мне нравится” является частью АПИ вконтакте, просто подключается с пометкой only widgets, если не ошибаюсь, и является виджетом, использующим основное API Vkontakte.

      Значит, мы можем смело использовать все возможности этого Апи, зчастую убрав ограничение “только виджеты” при подключении. Что интересно, до недавнего времени, не было информации по возможностям функции VK.Widgets.Like() , поэтому приходилось мучаться самому. Но теперь нам все поясняют на специальной странице документации по виджету-кнопке “мне нравится”.

      Виджет. Кнопка

      Итак, чтобы подключить кнопку мне нравится необходимо перейти на сайте ВК “разработчикам”->”Виджеты и сторонние сайты”->”«Мне нравится»”. При необходимости подключить сайт и выбрать параметры кнопки.

      Далее в шапку сайта вставляем похожий на этот код:

      VK.init();

      Мы подключили скрипты АПИ и инициализацию приложения для работы с самим API вконтакте и конкретно с жанном случае – виджетом “мне нравится”.
      В нужном месте страницы мы вставляем код кнопки виджета:

      Затем, в нужный момент, например по document ready, мы отображаем кнопку:
      VK.Widgets.Like(«profprogru_vk_like», );

      Все, теперь у нас есть кнопка со счетчиком. Но нам этого мало, да?

      Как сделать кнопку “мне нравится” Вконтакте для сайта с динамическим контентом, где меняется урл страницы, или просто несколько кнопок с разными ссылками? Принцип один, доработаем код:

      VK.Widgets.Like(«profprogru_vk_like», ,666);

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

      Надеюсь, информация не была бесполезной.

      Источник: profprog.ru

      Рейтинг
      ( Пока оценок нет )
      Загрузка ...