KOTOFF.NET
  • Главная
  • Пользователи
  • Контакты
  • Статистика
  • Правила
  • О нас
  • Вход / Регистрация

Карусели для бота ВК

Статьи / PHP

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


Карусели могут включать в себя до 10-ти элементов с одинаковой качественной и количественной структурой. Под структурой подразумевается содержимое элемента карусели (заголовок, описание, картинка, кнопки). То есть, если первый элемент карусели состоит из заголовка, описания картинки и 2-х кнопок, то и все остальные элементы так же должны состоять из заголовка, описания картинки и 2-х кнопок.

Также стоит иметь в виду ещё несколько вещей:

  1. Элемент карусели обязательно должен содержать в себе:
    • Кнопку (или несколько кнопок);
    • Картинку или заголовок (либо и то, и другое);
    • Описание, если есть заголовок.
  2. Заголовок и описание имеют ограничение по длине в 80 символов;
  3. Пропорции изображения - 13/8, минимальный размер - 221х136;
  4. Максимальное количество кнопок - 3.

Ну, а теперь пришло время начать что-то делать. А начинать мы будем сразу с кода.


Шаг 1: Пишем бота

Для работы с каруселями нам потребуется библиотека SimpleVK 3.x, она будет в архиве в исходниками. Можно также воспользоваться composer'ом:

composer require digitalstars/simplevk:dev-testing --ignore-platform-reqs


В корне создаю файл index.php, подключаю библиотеку и создаю три константы. Пока оставлю их пустыми, на втором шаге заполним:

<?php

require_once __DIR__ . '/vendor/digitalstars/simplevk/autoload.php';



const VK_KEY = '***********************'; // Токен сообщества
const ACCESS_KEY = '********'; // Строка, которую должен вернуть сервер
const VERSION = '5.131'; // Версия VK API

Создаю экземпляры классов \DigitalStars\SimpleVK\SimpleVK и \DigitalStars\SimpleVK\Message. Тут же инициализирую переменные $type и $text:

$vk = \DigitalStars\SimpleVK\SimpleVK::create( VK_KEY, VERSION )
    ->setConfirm( ACCESS_KEY )
    ->setUserLogError( /* ID страницы ВК */ ) // Включаем лог ошибок в личку себе (нужно вставить айди своей страницы)
    ->initType( $type ) // Инициализация перменной $type (тип события)
    ->initText( $text ); // Инициализация переменной $text (текст сообщения)
$msg = \DigitalStars\SimpleVK\Message::create( $vk ); // Экземпляр класса Message в перменную $msg

Чтобы бот отправлял карусель по команде '/карусель' - создаю двойную проверку на событие и текст сообщения:

if ( $type == 'message_new' )
{


    if ( $text == '/карусель' )
    {    

        // Тут будем работать с каруселью
        
    }


}

В моей карусели будет 2 кнопки, генерирую их:

$btn_link = $vk->buttonOpenLink( 'https://kotoff.net' ); // Генерация кнопки-ссылки
$btn_donate = $vk->buttonDonateToUser( /* ID страницы ВК */ ); // Генерация кнопки для доната конкретному юзеру, нужно указать его айди

Метод carousel() создаёт саму карусель, а с помощью методов title(), description(), action(), kbd() и img() создаю начинку. Я также предварительно я добавил в корень сайта картинку (img.jpg):

/* --- Создание самой карусели, можно продублировать нужное количество раз для добавления нескольких элементов в карусель --- */
$msg->carousel()
    ->title( 'Заголовок' ) // Заголовок элемента карусели
    ->description( 'Описание 123 456 789' ) // Описание элемента карусели
    // ->action( 'https://kotoff.net' ) // URL, на который перекинет юзера по клику на элемент карусели
    ->kbd( [ $btn_link, $btn_donate ] ) // Кнопки для элемента карусели
    ->img( 'img.jpg' ); // Картинка для элемента карусели
/* --- */

Осталось только отправить всё это дело пользователю:

$msg->text( 'Держи карусельку' )->send(); // Указываем текст сообщения с каруселью и отправляем


Но пока ничего работать не будет, ведь мы ещё не настроили сообщество и не получили токен.


Шаг 2: Настройка сообщества

1 - Создайте токен сообщества и поставьте галочки напротив сообщений сообщества и фотографий. Доступ к фото нужен для загрузки картинки каруселей. Полученный токен необходимо вставить в константу VK_KEY.

2. Укажите ссылку на своего бота (у меня лежит он в индексном файле, поэтому просто указываю ссылку на свой сайт), скопируйте и вставьте в константу ACCESS_KEY строку, которую должен вернуть сервер. После сохранения бота нажмите кнопку 'Подтвердить':

3. В типах событий поставьте галочку у входящих:

4. Включите сообщения сообщества и возможности ботов:


Всё! Теперь пробуем написать боту:


carousel.zip

  • 5id15
  • 24.07.2022
  • 2 099
  • 4
Callback-кнопки для бота ВК
Callback-кнопки для бота ВК
22-07-2022, 20:20, PHP
  1. Гость Алексей

    Гость Алексей Гость 28 августа 2022 12:55

    Спасибо огромное

  2. Гость Алексей

    Гость Алексей Гость 10 сентября 2022 15:04

    Буду рад статье на старой библиотеке.

    1. 5id15

      5id15@Константин Дорофеев 14 сентября 2022 22:17

      Готово :)

      https://kotoff.net/article/php/94-karuseli-dlja-bota-vk-na-biblioteke-simplevk2
      -ch2.html

  3. Гость Алексей

    Гость Алексей Гость 5 февраля 2023 16:49

    спасибо большое)))

{login}

Твой комментарий..

Заказывай!
Разработка ботов на заказ, любой сложности, обращаться:
 VK KOTOFF.net - Сообщество, в личные сообщения или по контактам указанным там 
 mail: [email protected]

Рекламный блок
  • Новости
  • Блог
  • Игры
  • Обновления
  • Программы
  • Статьи
    • PHP
    • Python
  • Дизайн
    • PSD исходники
  • DLE
    • Шаблоны
      • Игровые
    • Модули
    • Хаки
  • Магазин
Комментарии
Авторизация на сайте через ВК с занесением пользователя в базу данных (PHP)
В статье используется библиотека для работы с MySQLi, которая исключает SQL инъекции при
Авторизация на сайте через ВК с занесением пользователя в базу данных (PHP)
Когда будет гайд про защиту от sql injection?
Скрипт исключения из беседы VK и не только, написанный на PHP
Совсем забыл, что адекватное использование addChatUser отключили. Метод вызывается только ключом
Cкрипт добавление возможных друзей Вконтакте, законная накрутка друзей без блокировок!
Скрипт всего лишь имитирует нажатие кнопки для добавления в друзья. Само собой у Вк есть алгоритмы
Cкрипт добавление возможных друзей Вконтакте, законная накрутка друзей без блокировок!
Баны летят только так. Крутил 10 аккаунтов с помощью этого скрипта и использова хорошие прокси. 9
Все комментарии..
Полный список последних комментариев
Лучшие новости
Всего публикаций: 79
Добавлено за сутки: +0
Записей в блоге: 1
Добавлено за сутки: +0
Комментариев: 867
Добавлено за сутки: +0
Пользователей: 3904
Добавлено за сутки: +0
Полная статистика..
Подробная статистика сайта
Loading...

Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter

Полезные ссылки
  • О проекте
  • Наши контакты
  • Администрация
  • Рекламные материалы
  • Идеи и предложения
  • Ответы на вопросы
Информация
  • Условия сделки
  • Способы оплаты
  • Поддержка / F.A.Q
  • Онлайн документация
  • Статистика сайта
  • Список пользователей
Услуги/Работа
  • Разработка ботов ВК
  • Обновление проекта
  • Консультация/поддержка
KOTOFF.net

Copyright © Footer 2019-2022. All right reserved.
KOTOFF.net - Уроки по PHP, SQL, IT новости
Быстрый вход

Используйте социальные сети для быстрой регистрации и авторизации.

Google
ВКонтакте
Яндекс
Mail.ru
Создать аккаунт / Регистрация
Авторизация

Я забыл свой пароль