Как сохранять картинку, отправленную телеграм ботом в аккаунт пользователя?

Всем добрый день! Пишу телеграм-бота на Python c библиотекой Telebot и столкнулся с такой проблемой. Бот отправляет рандомную картинку пользователю из хранилища (на данный момент это просто папка на компьютере) на определенный запрос (нажатие кнопки). И необходимо, чтоб картинка (и последующие полученные им), полученная пользователем от бота, сохранялась в аккаунте пользователя в данном боте (регистрация пользователя происходит через базу данных sql), и чтоб пользователь при выборе определённой команды (условно "Мои картинки"), мог посмотреть все те картинки, который он получил от бота? Собственно, в этом и заключается сложность, ибо я не знаю как это реализовать Сам я новичок в программировании, поэтому опыта и знаний у меня не очень много, могу просто не знать/понимать что-то


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

Автор решения: CausonQ

Каждый раз загружать изображение в телеграм нежелательно. Рекомендованным способом передачи фото является отправка по file_id. В вашем случае, я думаю, будет достаточно следующего: Создаем в БД 2 таблицы: список изображений и кому что отправили

CREATE TABLE `pics` (
  `id` int NOT NULL AUTO_INCREMENT,
  `uid` bigint NOT NULL,
  `file_unique_id` varchar(50) NOT NULL,
  `file_id` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
);

и вторая:

CREATE TABLE `rates` (
  `id` int NOT NULL AUTO_INCREMENT,
  `uid` bigint NOT NULL,
  `file_unique_id` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)

) Отправили изображение по file_id из первой таблицы? Записали во вторую id - кому отправили и file_unique_id - что отправили

Это схема в общем случае

→ Ссылка