Создание простого бота с кнопками для бесед и сообщества
Другие темы курса:
1. Введение в создание ботов. Обзор инструментов2. Обзор Callback api и разработка простого бота на PHP
3. Обзор LongPoll api и разработка простого бота на PHP
4. Обзор Streaming api и работа с ним
5. Создание простого бота с кнопками для бесед и сообщества на PHP
- Нестандартное использование кнопок
6. Скрипт для приема внутренних оплат в боте на Яндекс.Деньги
7. Разработка игрового бота для сообщества и бесед с возможностью доната
8. Разработка бота для администрирования бесед- Переводим голос в текст
- Переводим текст в голос
9. Обзор и разбор всех методов авторизации в ВК
10. Создание своего приложения в ВК
11. Подключение iframe ВК на сайт
12. Разработка бота с игрой Морской бой
13. Разработка бота с web админкой
Сегодня мы будем рассматривать разработку простого callback бота на PHP 5.6+ для вашей беседы или группы в ВК.
Для обращения к api Вконтакте будем использовать библиотеку SimpleVK разработанную нашей командой. Для запуска бота потребуется сервер. Можно поискать бесплатные хостинги, но на них не всегда хорошо работают боты, или же купить себе дешевый VDS за 150р.Решили купить VDS? Посмотрите статью по настройке VDS.О настройке и бота и установку в сообществе можете прочитать здесь
Разработка бота
Теперь перейдем к разработке. Устанавливаем себе библиотеку отсюда, процесс установки написан там же. Если вам не интересна установка руками, то в конце статьи будет ссылка на скачивание всего проекта, который работает из коробки.
В моем случае, я установил библиотеку через composer, что и вам советую, через него удобно обновляться на новые версии библиотеки. Создаем и открываем bot.php, пишем код:<?php
require_once('vendor/autoload.php'); //подключаем библиотеку
use DigitalStar\vk_api\vk_api; //используем только основной класс
const VK_TOKEN = ''; //токен из группы
const CONFIRM_STR = ''; //строка подтверждения сервера
const VERSION = '5.101';
$vk = vk_api::create(VK_TOKEN, VERSION)->setConfirm(CONFIRM_STR);
$vk->debug(); //включение дебаг режима. Если в коде ошибка - ее можно посмотреть в неудавшихся запросах
$vk->initVars($id, $message, $payload); //инициализация переменных
$info_btn = $vk->buttonText('Информация', 'blue', ['command' => 'info']); //создание кнопки
if ($payload) { //если пришло нажатие кнопки
if($payload['command'] == 'info') //если это кнопка info
$vk->reply('Тебя зовут %a_full%'); //отвечает пользователю или в беседу
} else //если пришло обычное сообщение
$vk->sendButton($id, 'Видишь кнопку? Нажми на нее!', [[$info_btn]]); //отправляем клавиатуру с сообщением
Весь код прокомментирован. Вам осталось внести свой ключ и строку подтверждения сервера в константы и залить файл на сервер. В настройках сообщества указываете путь до скрипта и нажимаете "Подтвердить". Теперь бот работает как и в сообществе, так и в беседе(не забудьте дать боту админа)
И собственно, весь проект вы можете скачать по ссылке ниже
Если ссылки не видно, и вы сидите с мобильного устройства нажмите "Читать на ScriptHub.ru"
Подписывайтесь на нас в ВК, Одноклассники, Facebook, Twitter, Telegram
Чат Вконтакте для общения по разработке ботов: https://vk.me/join/AJQ1dzQRUQxtfd7zSm4STOmt
Поддержите курс монеткой:
Сбер - 2202 2012 7265 2211
Яндекс.Деньги - 410014638432302
Bitcoin кошелек - 1DwRVf5gTqaWqJ65qQHc4nHFVBfRH3xSJ1
Новость отредактировал: Runnin - 1.10.2019, 01:11
Причина: Исправлена ошибка в коде