Сегодня мы будем рассматривать разработку простого callback бота на PHP 5.6+ для вашей беседы или группы в ВК.
Для обращения к api Вконтакте будем использовать библиотеку SimpleVK разработанную нашей командой. Для запуска бота потребуется сервер. Можно поискать бесплатные хостинги, но на них не всегда хорошо работают боты, или же купить себе дешевый VDS за 150р.
Решили купить VDS? Посмотрите статью по настройке VDS .
О настройке и бота и установку в сообществе можете прочитать здесь
Разработка бота
Теперь перейдем к разработке. Устанавливаем себе библиотеку отсюда , процесс установки написан там же. Если вам не интересна установка руками, то в конце статьи будет ссылка на скачивание всего проекта, который работает из коробки.
В моем случае, я установил библиотеку через composer, что и вам советую, через него удобно обновляться на новые версии библиотеки. Создаем и открываем bot.php, пишем код:
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]]); //отправляем клавиатуру с сообщением
Весь код прокомментирован. Вам осталось внести свой ключ и строку подтверждения сервера в константы и залить файл на сервер. В настройках сообщества указываете путь до скрипта и нажимаете «Подтвердить». Теперь бот работает как и в сообществе, так и в беседе(не забудьте дать боту админа)
Как создать бота в (Robochat) «ЧАСТЬ2» #бот. ДЕЛАЕМ КЛИКЕР!!!!
И собственно, весь проект вы можете скачать по ссылке ниже
Если ссылки не видно, и вы сидите с мобильного устройства нажмите «Читать на ScriptHub.ru»
Подписывайтесь на нас в ВК, Одноклассники, Facebook, Twitter, Telegram
Чат Вконтакте для общения по разработке ботов: https://vk.me/join/AJQ1dzQRUQxtfd7zSm4STOmt
Поддержите курс монеткой:
Сбер — 2202 2012 7265 2211
Яндекс.Деньги — 410014638432302
Bitcoin кошелек — 1DwRVf5gTqaWqJ65qQHc4nHFVBfRH3xSJ1
Новость отредактировал: Runnin — 1.10.2019, 01:11
Причина: Исправлена ошибка в коде
- Runnin
- Боты / Боты вк
- 2019-03-15
- 11 729
Источник: scripthub.ru
Гайд VK Бот на Python 2 часть — Keyboard / Динамичное меню
Mamashin
Известный
Автор темы
Делаем бота с клавиатурой в ВКонтакте
да я все же выжил.
Всем привет. Уже писал тему с ботом для вк, там мы использовали модуль vk_api(честно сказать не очень для постоянной основы).
Сегодня немного познакомлю вас с таким модулем как vkbottle, ко всем строкам в коде буду оставлять комментарии, так что не бойтесь.
Хотел бы начать с того, что данный модуль действительно удобен во многом — код, реакция на ошибки со стороны вк, структура.
НАДА:
1. Python(Желательно 3.9) — python.org
2. Любой кодовый редактор(НЕ БЛОКНОТ!) — Notepad ++, Atom, VSC, IDLE Python, PyCharm, я использую Sublime Text и вам советую.
3. Сама библиотека vkbottle — Установка: pip install vkbottle
4. Так же библиотека asyncio — pip install asyncio
Так же:
pip install requests
ВНИМАНИЕ! В данном гайде я не буду рассказывать как создать python-файл и как запустить его, так как если вы не знаете этого, данная тема будет вам довольно сложна и не понятно, советую вам начать с vk_api если так надо.
Начнём с настройки сообщества, перед этим создаем его, создаем API ключ, ставим галочки на нужные евенты, так же и с LongPoll, затем ставим самую последнию версию Long Poll Api(Советую 5.131)
Спойлер: LongPoll Set
Затем, заходим в «Сообщения» включаем их, так же включаем возможности ботов, по желанию можно включить кнопку «Начать» и указать приветствие.
Спойлер: Message Set
Теперь копируем наш созданный API ключ, так же нам нужно ID сообщества(цифры после public. ) если у вас паблик уже с аудиторией, вы можете узнать ID своего паблика тут -regvk.com
Теперь наконец-то, мы можем перейти к коду =)
Для начала импортируем нужные нам библиотеки и библиотеки которые мы установили.
Затем создадим переменные в которые поместим и передадим нужные нам данные, в нашем случае это токен и id нашей группы.
Так же, дабы не ходить во круг и около, создадим первую функцию ответа на сообщение!
Теперь сразу разберем вопрос с вложениями видео/фото/файлы и тд
В методах вк -vk.com/dev, в категории messages, есть метод attachment — отвечающий за прикрепление вложений к сообщению.
Создадим пару функций..
Спойлер: Result
Теперь рассмотрим клавиатуру и напишем простое динамичное меню, так же добавим ответ на сообщение которое мы не знаем =)
Keyborad + Menu:
Источник: www.blast.hk
6stprod/vk_bot
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
- Local
- Codespaces
HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more.
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Latest commit message
Commit time
README.md
Данного бота я делал для сервиса розыгрышей jokenews.ru
ВНИМАНИЕ — Для работы с ВК боту необходим HTTPS
- Поместить скрипты в папку на хостинге (Например: https://site.com/bot/ . файлы keyboard_bot.php и vk_api.php . )
- Заходим в группу ВК, нажимаем «Управление» — выбираем «Работа с API», в разделе «Ключи доступа» создаем ключ, токен (длинный ключ, который необходимо вписать в файл keyboard_bot.php) При создании ключа доступа во всплывающем окне выбираем «Разрешить приложению доступ к сообщениям сообщества» и к фотографиям (если вы будете отправлять изображения пользователю)
- Далее выбираем «Callback API» — Настройки сервера: выбираем версию API 5.75, в адрес сервера вписываем полный путь до скрипта. Ниже появится пояснялка со строкой «Строка, которую должен вернуть сервер: xxxxxxxx» — xxxxxxxx это ваш ключ, который так же необходимо вписать в keyboard_bot.php и нажимаем «Подтвердить» — должно отобразиться зеленое оповещение, что сервер подтвержден. Секретный ключ генерируем свой. «Callback API» — Тип события: — выбираем «Входящее сообщение»
- В правом меню (где настройки группы) выбираем Сообщения — настройки для бота и включаем «Возможности бота», а так же обе галочки.
Думаю, все понятно. Если есть вопросы, обращайтесь.
About
ВК Бот для группы. Отображает пользователю меню с кнопками. На каждую кнопку можно настроить определенное действие. Написан для 5.78 VK API.
Источник: github.com