Найти в Дзене
ChabickDesign

Как создать своего бота в "ВК" ?

Всем привет, сегодня мы с вами будем создавать своего собственного бота для Вконтакте на языке программировании Python. Бот будет совершенно простым,но разобравшись в этом, вы в дальнейшем сможете создавать сложные конструкции. Итак, для написания бота на языке Python, нам понадобится: 1. Python, скачать(клик), можно с официального сайта, желательно последнею версию! 2. Библиотека vk_api, pip install vk_api - главный модуль для работы с вк api. 3. Группа, а также страница ВК. 4. Любой редактор кода. Итак, для начала нам нужно настроить нашу группу вк и создать токен. Думаю, рассказывать как создать группу не стоит, переходим в настройки нашей группы, затем "Работа с API", затем нажимаем "Создать ключ", там же разрешаем то что вам нужно, можете разрешить всё :D Создаём токен: После того как создали, копируем его и сохраняем где нибудь для себя, чтобы по 100 раз не брать, после этого заходим во вкладку Long Poll API, включаем его, и в типах событий и включаем то что нам нужно, я же включ

Всем привет, сегодня мы с вами будем создавать своего собственного бота для Вконтакте на языке программировании Python. Бот будет совершенно простым,но разобравшись в этом, вы в дальнейшем сможете создавать сложные конструкции.

-2

Итак, для написания бота на языке Python, нам понадобится:

1. Python, скачать(клик), можно с официального сайта, желательно последнею версию!

2. Библиотека vk_api, pip install vk_api - главный модуль для работы с вк api.

3. Группа, а также страница ВК.

4. Любой редактор кода.

Итак, для начала нам нужно настроить нашу группу вк и создать токен.

Думаю, рассказывать как создать группу не стоит, переходим в настройки нашей группы, затем "Работа с API", затем нажимаем "Создать ключ", там же разрешаем то что вам нужно, можете разрешить всё :D

Создаём токен:

-3

После того как создали, копируем его и сохраняем где нибудь для себя, чтобы по 100 раз не брать, после этого заходим во вкладку Long Poll API, включаем его, и в типах событий и включаем то что нам нужно, я же включу только отправку фотографий и сообщения.

Long Poll API:

-4

События:

-5

После этого, переходим в пункт "Сообщения" и включаем их.

-6

Так же включаем возможности бота:

-7

Всё, теперь токен у нас есть, осталось использовать его по назначению.

Создаем папку, в которой вы бы хотели хранить своего бота Вконтакте.

В этой папке создаём текстовый документ с любым английским названием и меняем расширение с .txt на .py.

После всего этого, открываем командную строку (Win +R, cmd) и переходим в директорию нашего скрипта который мы создали только что:

cd диск:/папка/и еще папка есть есть.

Теперь необходимо установить библиотеку VK API:

pip install vkapi

Ну и теперь мы можем приступить к написанию нашего бота в Вконтакте, ниже я привел кусок кода, который вам необходимо будет просто скопировать и вставить, а там по ходу вы поймете, какие строчки - за что отвечают:

easyvkbot.py:

# Импортируем библиотеку vk_api
import vk_api
# Достаём из неё longpoll
from vk_api.longpoll import VkLongPoll, VkEventType

# Создаём переменную для удобства в которой хранится наш токен от группы

token="токен" # В ковычки вставляем аккуратно наш ранее взятый из группы токен.

# Подключаем токен и longpoll
bh = vk_api.VkApi(token = token)
give = bh.get_api()
longpoll = VkLongPoll(bh)

# Создадим функцию для ответа на сообщения в лс группы
def blasthack(id, text):
bh.method('messages.send', {'user_id' : id, 'message' : text, 'random_id': 0})

# Слушаем longpoll(Сообщения)
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
# Чтобы наш бот не слышал и не отвечал на самого себя
if event.to_me:

# Для того чтобы бот читал все с маленьких букв
message = event.text.lower()
# Получаем id пользователя
id = event.user_id

# Доисторическая логика общения на ифах
# Перед вами структура сообщений на которые бот сможет ответить, elif можно создавать сколько угодно, if и else же могут быть только 1 в данной ситуации.
# if - если, else - иначе(значит бот получил сообщение на которое не вызвана наша функция для ответа)

if message == 'привет':
blasthack(id, 'Привет, я бот!')

elif message == 'как дела?':
blasthack(id, 'Хорошо, а твои как?' )

else:
blasthack(id, 'Я вас не понимаю! :(')

После этого сохраняем файл и пишем в директории со скриптом следующие:

python название.py, если у вас ошибка то командная строка или терминал скажут вам об этом и программа не запустится.

У меня же:

python easyvkbot.py

Если вы все сделали правильно, то наш бот будет отвечать вам!

-8

Как видим всё прекрасно работает, но я считаю это слишком простым ботом даже если добавить туда 100 ответов на определённые команды, давайте сделаем, что то чуть сложнее!

Усложнив задачу я решил прикреплением картинки на сообщение пользователя, предварительно загрузив её в любой альбом и скопировавший её url.

Отправку картинки я решил не усложнять с помощью vkupload, а решил использовать метод отправки уже загруженной в вк картинки и прикрепления текста.

Код:

easyvkbot.py:

# Импортируем библиотеку vk_api
import vk_api
# Достаём из неё longpoll
from vk_api.longpoll import VkLongPoll, VkEventType

# Создаём переменную для удобства в которой хранится наш токен от группы

token="" # В ковычки вставляем аккуратно наш ранее взятый из группы токен.


# Подключаем токен и longpoll
bh = vk_api.VkApi(token = token)
give = bh.get_api()
longpoll = VkLongPoll(bh)

# Создадим функцию для ответа на сообщения в лс группы
def blasthack(id, text):
bh.method('messages.send', {'user_id' : id, 'message' : text, 'random_id': 0})

# Слушаем longpoll(Сообщения)
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
# Чтобы наш бот не слышал и не отвечал на самого себя
if event.to_me:

# Для того чтобы бот читал все с маленьких букв
message = event.text.lower()
# Получаем id пользователя
id = event.user_id

# Доисторическая логика общения на ифах
# Перед вами структура сообщений на которые бот сможет ответить, elif можно создавать сколько угодно, if и else же могут быть только 1 в данной ситуации.
# if - если, else - иначе(значит бот получил сообщение на которое не вызвана наша функция для ответа)

if message == 'привет':
blasthack(id, 'Привет, я бот!')

elif message == 'как дела?':
blasthack(id, 'Хорошо, а твои как?' )

elif message == 'картинка':
# Отправляем картинку и текст
bh.method("messages.send", {"peer_id": id, "message": "Вот твоя картинка!", "attachment": "photo381260583_457370887", "random_id": 0})

else:
blasthack(id, 'Я вас не понимаю! :(')

А теперь результат:

-9

Тоже самое можно сделать и с видео, аудио, товарами, документами, записями со стены, опросами.

На этом свой гайд я хочу закончить, спасибо всем за внимание, мне будет приятно если этот гайд хоть кому то да поможет! В этом гайде мы создали самого самого простого и лёгкого бота на python.

Исходный файлик я прикреплю к данной теме, если у вас что либо не получится - постараюсь вам помочь!

Так, же чтобы не морочиться с командной строкой и постоянным вводом команды, скрипт можно компилировать с помощью библиотеки pyinstaller

Переходим в директорию со скриптом, затем:

pyinstaller -F название.py

После этого нужно будет подождать секунд 30, после чего в нашей папке появится куча других папок, но нам нужна будет папочка dist, в ней и будет наш скрипт, только уже в exe формате, кстати для его запуска не обязательно устанавливать даже питон :)

Спасибо за внимание!

python

программирование

вк

создание бота

как сделать бота на python