В интернете есть много туториалов как написать бота для Вконтакте, но все они имеют существенные недостатки для новичков. Они дают совсем минимальную базу из-за которой в будущем новичкам будет трудно понять как работают те или иные вещи.
В этом туториале я хочу показать как сделать максимально простого бота с довольно большим базовым функционалом.
Итак начнем.
Что нам понадобится?
- Python начиная с версии 2.7 (Весь код тестировался на версии 2.7.16 и 3.7.3)
- Модуль PyMySQL
- Модуль vk_api
- Модуль requests
- Группа Вконтакте (Внимание! Бот будет работать именно со стороны группы, а не стороны аккаунта человека)
- База данных (включая данные о пользователе и т.д)
Подключение
Для начала подключим все библиотеки:
import vk_api
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import pymysql.cursors
import requests
Теперь можно приступить к настройке бота и базы данных.
Именно в моем случае все данные находятся в файле config.py. Вы же можете прописать их где угодно. На функционал то никак не повлияет.
Подключение базы данных
Для этого создадим функцию при помощи модуля PyMySQL:
def get_connection():
connection = pymysql.connect(host='you_host',
user='you_user',
password='you_password',
db='you_db'
charset='utf8mb4',
cursorclass=mymysql.cursors.DictCursor)
return connection
Эта функция будет возвращать данные для дальнейшей работы с базой данных. Соответственно подставляем свои данные где видим «you_».