Как вы могли заметить, этот файл (также будем называть его модуль vk) называется vk.py и находится в папке api. Это наталкивает на мысль, что он тем или иным образом свзяан с VK API для чат-ботов. Давайте разберемся, как именно.
Модуль vk играет роль посредника между основными "мозгами" нашего бота и программным интерфейсом ботов ВКонтакте. Сделано это для того, чтобы сами "мозги" бота (модуль core) не были заняты лишними мыслями о том, как правильно работать с VK API, и могли спокойно заниматься тем, чем и должны - обработкой сообщений.
Говоря простым языком, модуль vk - это дипломат, обеспечивающий нормальные отношения между нашим чат-ботом и серверами ВКонтакте. Этот модуль отвечает за отправку и получение ботом сообщений ВК, а также за то, чтобы наш бот и ВК понимали друг друга. Если вы читали пояснение к base.py, то это как раз один из тех мостов, о которых там идет речь.
Этот класс представляет собой частичную модель API для ботов ВКонтакте. Он наследуется от класса Api из модуля base и являеся его доработанной для VK API версией. В нем реализованы особенности, необходимые для работы конкретно с VK API.
Этот метод получает сообщения ВК, определяет их тип (новое сообщение, уведомление о новом собеседнике, уведомление об уходе собеседника). В случае, если это уведомление о новом собеседнике, пользователь добавляется в базу данных бота, и этот факт записывается в журнал событий бота (лог). В качестве результата метод возвращает полученное сообщение, которое бот впоследствии будет обрабатывать.
Этот метод отправляет сообщения ВК. Параметр message - текст сообщения (строка), параметр chat - уникальный номер чата ВК (целое число), в который его нужно отправить. Факт отправки сообщения записывается в журнал событий бота (лог).
Этот метод непосредственно используется для обращения к сервисам VK API. Он подключается к серверам ВКонтакте, совершает запрос необходимого действия или информации и получает ответ. В качестве результата метод возвращает полученный с сервера ответ.
Этот класс представляет собой частичную модель сообщений ВКонтакте. Он наследуется от класса Message из модуля base и является его доработанной для VK API версией. В нем есть все то, что было в его родителе base.Message, но также присутствуют некоторые характерные особенности, необходимые для работы конкретно с сообщениями ВКонтакте.
Текст сообщения.
Автор сообщения.
Тип сообщения.
Чат, в который отправлено сообщение.
Этот метод представлет информацию о сообщении в виде строки формата "Сообщение <типа> от <отправителя>: <текст сообщения>". Результат выполнения - эта строка.
Платформа, через которую отправляется сообщение. Для VkMessage этому свойству соответствует значение EPlatform.vk (то есть ВКонтакте).
Этот метод позволяет ответить на данное сообщение ВК, то есть отправить сообщение в тот же chat, откуда оно родом. Параметр message - текст сообщения (строка). Этот метод будет удобно использовать в нашем чат-боте при обработке сообщений, вызывая его прямо из самого сообщения.