Что это за мистический модуль под названием base? Он лежит в одной папке с vk.py и tg.py, может, он имеет с ними что-то общее? Сейчас разберемся.
Существует несколько способов связаться с нашим чат-ботом: можно написать ему ВКонтакте, можно написать ему в Telegram. Большинство операций, производимых над сообщениями, одинаковы как для сообщений из Telegram, так и для ВКонтакте или других потенциальных платформ. Модуль base является обобощенной версией посредников между нашим ботом и различными платформами, на которых пользователи будут общаться с ним. Этот модуль нужен для того, чтобы мы могли работать с сообщениями с разных платформ одинаково, независимо от того, откуда они пришли нашему боту.
Говоря простым языком, этот модуль является упрощенным чертежем для моста. Допустим, мы находимся на острове, который называется Чат-Бот. С этого острова нам надо наладить отношения со страной ВКонтактией, страной Телеграмией, а в будущем, возможно, и другими странами. Для этого нам нужно построить мосты. Вместо того, чтобы проектировать заново каждый из этих мостов, мы просто находим общие качества, которые нам нужны от этих мостов для налаживания отношений, и делаем упрощенный чертеж, которого нам будет достаточно для того, чтобы знать, что с ними делать дальше. А уже после этого наши инженеры построят мост в каждую из этих стран с учетом всех деталей. Как результат - по каждому из этих мостов мы можем одинаково ездить в разные страны и не думать об отличиях в их конструкции.
Этот класс сделан в целях совместимости различных классов-наследников.
Такой класс должен представлять из себя модель сервиса для получения и отправки сообщений пользователям. Конкретно в этом классе такой функционал не реализован, но если вы заглянете в другие модули, например, в vk.py, то увидете, что класс-наследник vk.VkApi эти функции очень даже предоставляет.
Реализация этого метода должна получать сообщения от пользователей.
Реализация этого метода должна отправлять сообщения пользователям.
Несмотря на то, что эти методы объявлены в классе Api, попытка вызвать любой из них закончится ошибкой "not implemented", то есть "не реализовано". Эти методы сделаны лишь для обеспечения совместимости наследуемых классов, то есть чтобы с разными наследниками класса Api можно было работать одинаково, как с самим Api. Нужный фукционал этих методов должен быть реализован уже в самих классах-наследниках.
Этот класс сделан в целях совместимости различных классов-наследников.
Класс Message является общей частичной моделью сообщения, с которым должен работать наш чат-бот. Если вы загляните в другие модули, например, в vk.py, то увидите, что класс-наследник vk.VkMessage является уже моделью конкретно сообщений ВКонтакте.
Текст сообщения.
Автор сообщения.
Тип сообщения.
Чат, в который отправлено сообщение.
Этот метод представлет информацию о сообщении в виде строки формата "Сообщение <типа> от <отправителя>: <текст сообщения>". Результат выполнения - эта строка.
Несмотря на то, что этот метод объявлен в классе Message, попытка его вызвать закончится ошибкой "not implemented", то есть "не реализовано". Этот метод сделан лишь для обеспечения совместимости наследуемых классов, то есть чтобы с разными наследниками класса Message можно было работать одинаково, как с самим Message.