Ali_Pythonist
Member
Первый код -
Второй код -
Оба кода в теории должны работать одинаково, но получается так, что первый пример отправляет три одинаковые фотографии, а второй пример отправляет три разные фотографии. Почему так происходит?
Python:
@bot_router_send_photo.message(Command("remind"), IsAdmin(lst_admin))
async def hello(message: Message, bot: Bot):
await message.answer(text='Планировщик запущен.')
with sq.connect('sq_bot.db') as time_photo:
id = -4152120133
cur = time_photo.cursor()
time = cur.execute("""SELECT time FROM data_photo""").fetchall()
photo = cur.execute("""SELECT photo FROM data_photo""").fetchall()
photo_name = cur.execute("""SELECT photo_name FROM data_photo""").fetchall()
while True:
time_now = datetime.datetime.now().time()
time_string = f'{time_now.hour}:{time_now.minute}'
for i in range(len(photo)):
if time_string in time[i][0]:
await bot.send_photo(chat_id=id, photo=BufferedInputFile(filename=photo_name[i][0], file=photo[i][0]))
Python:
@bot_router_send_photo.message(Command("remind"), IsAdmin(lst_admin))
async def hello(message: Message, bot: Bot):
await message.answer(text='Планировщик запущен.')
with sq.connect('sq_bot.db') as time_photo:
id = -4152120133
cur = time_photo.cursor()
time = cur.execute("""SELECT time FROM data_photo""").fetchall()
photo = cur.execute("""SELECT photo FROM data_photo""").fetchall()
photo_name = cur.execute("""SELECT photo_name FROM data_photo""").fetchall()
iteration = 0
while True:
time_now = datetime.datetime.now().time()
time_string = f'{time_now.hour}:{time_now.minute}'
for i in range(len(photo)):
if time_string in time[i][0]:
await bot.send_photo(chat_id=id, photo=BufferedInputFile(filename=photo_name[iteration-1][0], file=photo[iteration-1][0]))
if iteration < len(photo):
iteration+=1
Оба кода в теории должны работать одинаково, но получается так, что первый пример отправляет три одинаковые фотографии, а второй пример отправляет три разные фотографии. Почему так происходит?