Для отправки фотографий или файлов вам следует использовать метод send_photo() в библиотеке pyTelegramBotAPI. Вот пример кода, который отправит фотографию вместо ссылки:
```python
import telebot
bot = telebot.TeleBot('YOUR_BOT_TOKEN')
@bot.message_handler(commands=['schedule'])
def send_schedule(message):
chat_id = message.chat.id
# Загрузите фотографию расписания из вашего источника
photo = open('path/to/schedule.jpg', 'rb')
bot.send_photo(chat_id, photo)
photo.close()
bot.polling()
```
В этом примере, при получении команды '/schedule', бот загрузит фотографию расписания по указанному пути и отправит ее пользователю. Вы можете изменить этот код, чтобы он отвечал на другие команды или события.
Однако вам все равно придется обновлять фотографию регулярно в вашем коде. Чтобы избежать этого и обновлять расписание автоматически, вы можете реализовать в своем боте функцию, которая будет периодически загружать фотографии расписания с веб-страницы. Например, можно использовать модуль requests для загрузки страницы и BeautifulSoup для анализа и поиска таблицы с расписанием, а затем сохранить ее как фотографию.
Вот пример кода, который демонстрирует, как загрузить страницу, найти таблицу с расписанием и сохранить ее как фотографию:
```python
import requests
from bs4 import BeautifulSoup
def update_schedule_photo():
# Загрузите веб-страницу
url = 'https://time.spetpro.ru/s/OB-2101.htm'
response = requests.get(url)
# Создайте объект BeautifulSoup для анализа страницы
soup = BeautifulSoup(response.text, 'html.parser')
# Найдите таблицу с расписанием
table = soup.find('table', class_='schedule')
if table:
# Сохраните таблицу как изображение
table_image_path = 'path/to/schedule.jpg'
table_image = open(table_image_path, 'wb')
table_image.write(table_image_content)
table_image.close()
# Отправьте фотографию расписания с помощью bot.send_photo(chat_id, photo)
```
Вы можете использовать эту функцию для обновления фотографии расписания в своем коде бота. Вызывайте ее, например, из другой команды или при генерации нового расписания.
Важно отметить, что вам также нужно реализовать логику, если таблица с расписанием отсутствует на странице или изменяется ее формат.