Для отправки изображения через Telegram бота из базы данных SQLite, вам нужно убедиться, что изображение в базе данных хранится в правильном формате и может быть корректно считано и отправлено через Telegram API.
Чтобы исправить ошибку "sqlite3.OperationalError: Could not decode to UTF-8 column", вы можете использовать модуль `sqlite3.Binary()` для сохранения и считывания изображения в бинарном формате.
Вот как вы можете изменить ваш код:
```python
import telebot
import sqlite3
bot = telebot.TeleBot('TOKEN')
connect = sqlite3.connect('images.sql', check_same_thread=False)
cursor = connect.cursor()
@bot.message_handler(commands=['start'])
def send_image(message):
img_data = cursor.execute("SELECT Photo FROM image WHERE Code = '1'").fetchone()[0]
image = bytes(img_data)
bot.send_photo(message.chat.id, photo=image)
bot.infinity_polling()
```
Убедитесь, что при сохранении изображения в базу данных вы используете `sqlite3.Binary()` для сохранения его в бинарном формате:
```python
with open('image.jpg', 'rb') as file:
img_data = file.read()
cursor.execute("INSERT INTO image (Code, Photo) VALUES (?, ?)", ('1', sqlite3.Binary(img_data)))
connect.commit()
```
Теперь ваш код должен считать изображение из базы данных в правильном формате и успешно отправить его через Telegram бота.