Помогите исправить ошибку в привязке бота в телеграмме с использованием python

Вот код:

import telebot
from telebot import types
bot = telebot.TeleBot('token')
keyboard = types.InlineKeyboardMarkup()
@bot.message_handler(commands=['start'])
@bot.message_handler(content_types=["text"])

# считываем данные из файла с текущими данными
with open(r'current_data.txt', mode='r', encoding='utf-8') as cur_fl:
    # получим список всех строк
    cur_data_lines = cur_fl.readlines()
    # на основе списка создадим словарь ключ:значение
    cur_data_dict = {
        ln.split(';')[0]:ln.split(';')[1]  # разделение строки по ';' - левая часть в ключ, правая в значение
        for ln in cur_data_lines
    }

# то же самое, но для файла с предыдущими значениями
with open(r'prev_data.txt', mode='r', encoding='utf-8') as prev_fl:
    prev_data_lines = prev_fl.readlines()
    prev_data_dict = {ln.split(';')[0]:ln.split(';')[1] for ln in prev_data_lines}

# обход по циклу всех пар ключ:значение из файла с текущими данными
for k, v in cur_data_dict.items():
    # если ключ есть в предыдущем файле и значение не равно предыдущему
    if (k in prev_data_dict.keys()) and (v != prev_data_dict[k]):
        # отправить сообщение в телеграм (здесь вызов бота написан в качестве placeholder - надо подставить свой код)
        telegram_bot.send_message(f'Для ключа {k} значение изменилось на {v}')

# переносим значения текущего файла в файл с предыдущими данными
# открывает файл с предыдущими данными на запись
with open(r'prev_data.txt', mode='w', encoding='utf-8') as prev_fl:
    # открываем файл с текущими данными на чтение
    with open(r'current_data.txt', mode='r', encoding='utf-8') as cur_fl:
        # записываем в файл с предыдущими файлами то, что прочли из файла с текущими
        prev_fl.write(cur_fl.read())

Ошибка такая на каждом with open

Traceback (most recent call last):
  File "C:\Users\user\Desktop\123.py", line 19
    with open(r'current_data.txt', mode='r', encoding='utf-8') as cur_fl:
       ^
SyntaxError: invalid syntax

Ответы (1 шт):

Автор решения: MrBlackLord
@bot.message_handler(commands=['start'])
@bot.message_handler(content_types=["text"])

Сверху находятся так называемые декораторы. После каждого из них должна идти функция, которую они вызывают. Обромите код в фунцкию(ции если это нужно). Примеры можно посмотреть в документации

→ Ссылка