pyTelegramBotAPI + openpyxl
Пишу телеграмм бот на pyTelegramBotAPI , одной из команды которого будет при запросе пользователя в группе выводить ипшки компов взяты из таблички Exel (брать должен по почтовому индексу). Табличка состоит из строк почтового индекса, адресса, ип пк и тд. Сейчас он все это делает, только вводится индекс сейчас в терминал айдиешки(Pycharma). Суть вопроса возможно ли команду бота 'pc' добавить неизвестную переменную типо f'pc{user_index}'. Вообще какие варинаты чтобы индекс не с консоли вводился. Прослушивать просто текст и когда введут индекс например 73008 не совсем вариант, потому что бот будет в группе где могут с другим вопросом это писать. Варианты которые я представляю:
- чтобы после команды /pc бот спросил индекс, и только после команды /pc начал прослушивать текст и пользователь ввел индекс в это время 2)если возможно в саму команду /pc добавить переменную индекса.
Мейн файл:
import telebot
import openxml
bot = telebot.TeleBot('xxx')
@bot.message_handler(commands=['pc'])
def pc(message):
openxml.pc_vpz()
for i in openxml.pc_result:
bot.send_message(message.chat.id, openxml.pc_result)
bot.polling(none_stop=True)
Файл поиска ип по файлу ексель:
import openpyxl
def pc_vpz():
book = openpyxl.open('Ip_PC.xlsx', read_only=True)
global pc_result
pc_result = []
sheet = book.active
user_index = int(input('Введите индекс:'))
count_pc = 0
for row in range(2, 50):
index = sheet[row][1].value
ip_pc = sheet[row][3].value
if index and ip_pc:
if user_index == index:
pc_result.append(ip_pc)
count_pc += 1
elif not index and count_pc == 0:
print('Такого отделения не найдено')
break
return pc_result