Как реализовать скрипт анализа данных excel(openpyxl) таблицы в pyTelegramBot

Всем привет. У меня имеется скрипт на python, который анализирует таблицу xlsx через openpyxl. В данном скрипте ввожу месяц(месяцы разбиты по страницам), дату и после этого он показывает кто работает в указанную дату. Возможно ли данный скрипт реализовать в бота pyTelegramBot ? Может имеются примеры или статьи

import openpyxl
import subprocess
wb = openpyxl.load_workbook(filename = '/home/python/tabl/duty_ck/График дежурств.xlsx')
page = str(input("Введите месяц: "))
sheet = wb[page]
print (sheet)
while True:
#столбец
    print()
    column = int(input("Введите Число месяца: "))
    if column == 1:
        cell = 'D'
    if column == 2:
        cell = 'E'
    if column == 3:
        cell = 'F'
    if column == 4:
        cell = 'G'
    if column == 5:
        cell = 'H'
    if column == 6:
        cell = 'I'
    if column == 7:
        cell = 'J'
    if column == 8:
        cell = 'K'
    if column == 9:
        cell = 'L'
    if column == 10:
        cell = 'M'
    if column == 11:
        cell = 'N'
    if column == 12:
        cell = 'O'
    if column == 13:
        cell = 'P'
    if column == 14:
        cell = 'Q'
    if column == 15:
        cell = 'R'
    if column == 16:
        cell = 'S'
    if column == 17:
        cell = 'T'
    if column == 18:
        cell = 'U'
    if column == 19:
        cell = 'V'
    if column == 20:
        cell = 'W'
    if column == 21:
        cell = 'X'
    if column == 22:
        cell = 'Y'
    if column == 23:
        cell = 'Z'
    if column == 24:
        cell = 'AA'
    if column == 25:
        cell = 'AB'
    if column == 26:
        cell = 'AC'
    if column == 27:
        cell = 'AD'
    if column == 28:
        cell = 'AE'
    if column == 29:
        cell = 'AF'
    if column == 30:
        cell = 'AG'
    if column == 31:
        cell = 'AH'
    print ("\n")

    znach = column
    if znach in range (1, 32):
        print(znach, page, "Дежурит: ")
        print ()
    
        for i in range(2, 8):
            line = cell + str(i)
            user = "C" + str(i)
            val = sheet[user].value
            if sheet[line].value is not None:
                print (val, sheet[line].value,"ч.")
            i = i + 1
        print ("-----------------------------------")
    
        for i in range(8, 16):
            line = cell + str(i)
            user = "C" + str(i)
            val = sheet[user].value
            if sheet[line].value is not None:
                print (val, sheet[line].value,"ч.", "Из офиса")
            i = i + 1


    else: print("Такой даты не существует")


print ()

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

Автор решения: Никита Коняхин

Получилось решить проблему. Делал по примеру https://github.com/eternnoir/pyTelegramBotAPI/blob/master/examples/step_example.py Спасибо @Violet Брал данные из чаты и делал из них аргументы

    def day_step(message):
    chat_id = message.chat.id
    day = message.text
    
    if not day.isdigit():
        msg = bot.reply_to(message, 'Введите дату цифрами')
        bot.register_next_step_handler(msg, day_step)
        return
    user = user_dict[chat_id]
    user.day = day
    bot.send_message(message.chat.id, 'Выбрано: ' + user.month + ' ' + user.day)

    wb = openpyxl.load_workbook('График дежурств.xlsx')
    page = str(user.month)
    sheet = wb[page]
    column = int(user.day)
→ Ссылка