Нужно один файл - функция get_data(), а во втором файле бот. Как это сделать?
import requests
import telebot
from auth_data import token
from bs4 import BeautifulSoup
import lxml
import telebot
from telebot import types
def get_data(x): # Получение данных с school№.edu-penza (Адрес, Почта, Телефон)
url = f"http://school{x}.edu-penza.ru/about/contacts/"
print(url)
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml', )
value = soup.find_all("td")
item_list = []
for item in value:
item_list.append(item.text.strip())
dict_items = {}
for items in item_list:
if items == 'Адрес':
dict_items['Адрес'] = item_list[item_list.index("Адрес") + 1]
if items == 'E-mail':
dict_items['E-mail'] = item_list[item_list.index("E-mail") + 1]
if items == 'Телефон':
dict_items['Телефон'] = item_list[item_list.index("Телефон") + 1]
dict_items['Сайт'] = f'http://school{x}.edu-penza.ru'
return dict_items
bot = telebot.TeleBot('5116629610:AAGaVs83TrbnUmHiwMLnjSBH0UaW4gcN2o4')
@bot.message_handler(commands=['start', 'help'])
def start_message(message): # Приветственное сообщение бота
bot.send_message(message.chat.id, "Привет")
@bot.message_handler(content_types=['text'])
def get_text_messages(message): # Бот отправляет данные с сайта (используется функция get_data())
if message.text == message.text:
result = message.text.split()
school_ticket = get_data(result[1])
strings = []
for key, item in school_ticket.items():
strings.append("{}: {}".format(key.capitalize(), item))
result = "\n".join(strings)
bot.send_message(message.chat.id, result)
if __name__ == '__main__':
bot.polling()