Ошибка скорее всего из за того, что пытаетесь компилировать во втором питоне, а надо в 3-м.
Ну и сам код с логическими ошибками, сначала нужно делать цикл, потом только высчитывать процент, как то так: https://www.online-python.com/mPtwa5nMHO
@bot.message_handler(func=lambda message: True, content_types=['text'])
def echo_message(message):
if message.chat.type == "private":
# личка
if (message.chat.type == "group" or message.chat.type == "supergroup"):
# группа
if message.chat.type == "channel":
# канал
перепишите код , функцию на приём всех сообщений. Внутри функции делайте запрос к БД и далее проверяйте есть доступ у пользователя или нет, в вашем варианте будут отрабатывать только те кто уже прописан в бд на момент старта программы.
файлы можно присылать в любое время, когда вы включите программу-бота на компе, то ему придут все сообщения со всеми файлами ( если зайти не позже 3х суток)
делаете цикл по строчно:
1) если строка была уже найдена (стоит ваша пометка) то выводим текущую строку
2) тут проверяем , только вместо вывода делаем себе пометочку
статья аж 2012 года, вам надо установить вот эту версию opencv_python‑2.4.13.2‑cp27‑cp27m‑win32.whl
(в более старших версиях opencv этот (highgui) модуль отсутствует)