August 18, 2020

Создание Python Бота в Вконтакте №1

Что узнаете:

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

Создание группы для получения API-Токена:

С начала вам нужно перейти в раздел сообщества во Вконтакте, там нажать на кнопку "Создать сообщество"

Затем выбираем какую группы вы хотите создать, выбираем первую во втором ряду "Группа по интересам"

Когда создадим группу, заходим в раздел "Управление" в своей группе

Затем нажимаем на кнопку "Работа с API"

Далее в открывшимся окне нажимаем "Long Poll API"

После это выбирайте все так же как на фотографии ниже

После этого кликаем назад на "Ключ доступа", а затем нажимаем на кнопку "Создать ключ"

Выбираем все так же как и на картинке ниже для получения сообщений и создаем токен. При создание вам позвонит бот, или отправится сообщение с кодом

Копируем появившийся токен, он нам ещё пригодится

Качаем нужную библиотеку:

В командой строке cmd пишем такую команду

pip install vk_api

Теперь пишем самого бота

Для начала Импортируем нужные методы:

import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType

Теперь в ходим ботом в группу, но заменяем "Api-Token" на свой токен который вы скопировали и "ID-Сообщества" на ID-вашего сообщества :

vk_session = vk_api.VkApi(token = "Api-Token", api_version = 5.95)
vk = vk_session.get_api()
longpoll = VkBotLongPoll(vk_session, ID-Сообщества)

После входа начинаем слушать события для получения сообщений:

for event in longpoll.listen():
	if event.type == VkBotEventType.MESSAGE_NEW:

Сейчас я вам покажу какие типы сообщений я знаю:

Откуда пришло сообщение:

event.object.peer_id

ID-пользователя сообщения

event.object.from_id

Текст сообщения:

event.object.text

А теперь от куда могу приходить сообщения:

Сообщения с беседы:

if event.object.peer_id != event.object.from_id:

Сообщения от пользователя:

if event.object.peer_id == event.object.from_id:

Мы можем получать сообщения, теперь научимся их отправлять:

vk.messages.send(peer_id = event.object.peer_id, message = f"{event.object.text}", random = 0)

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