Как сохранять картинку, отправленную телеграм ботом в аккаунт пользователя?
Всем добрый день! Пишу телеграм-бота на Python c библиотекой Telebot и столкнулся с такой проблемой. Бот отправляет рандомную картинку пользователю из хранилища (на данный момент это просто папка на компьютере) на определенный запрос (нажатие кнопки). И необходимо, чтоб картинка (и последующие полученные им), полученная пользователем от бота, сохранялась в аккаунте пользователя в данном боте (регистрация пользователя происходит через базу данных sql), и чтоб пользователь при выборе определённой команды (условно "Мои картинки"), мог посмотреть все те картинки, который он получил от бота? Собственно, в этом и заключается сложность, ибо я не знаю как это реализовать Сам я новичок в программировании, поэтому опыта и знаний у меня не очень много, могу просто не знать/понимать что-то
Ответы (1 шт):
Каждый раз загружать изображение в телеграм нежелательно. Рекомендованным способом передачи фото является отправка по 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 - что отправили
Это схема в общем случае