fix resend after

This commit is contained in:
bakatrouble 2025-07-31 12:26:37 +03:00
parent 973f432b53
commit c88e5e7ab1

15
main.py
View File

@ -183,23 +183,32 @@ async def check_updates():
@dp.message(filters.Command('resend_after'), ChatFilter)
async def resend_after(msg: Message):
args = msg.text.split()[1:]
try:
timestamp = int(msg.text.split()[1])
timestamp = int(args[0])
skip_to_sub = int(args[1]) if len(args) > 1 else None
except:
traceback.print_exc()
await msg.reply('Invalid timestamp or not provided')
return
async with redis.lock(REDIS_LOCK_KEY):
tag_list = [tuple(t.decode().split()) for t in await redis.smembers(REDIS_SUBS_KEY)]
tags = sorted(await redis.smembers(REDIS_SUBS_KEY))
if skip_to_sub is not None and skip_to_sub in tags:
tags = tags[tags.index(skip_to_sub):]
tag_list = [tuple(t.decode().split()) for t in tags]
for i, tag in enumerate(tag_list):
await msg.reply(f'Checking tag <b>{tag}</b> ({i+1}/{len(tag_list)})', parse_mode=ParseMode.HTML)
logging.info(f'Checking tag {tag} ({i+1}/{len(tag_list)})')
# await msg.reply(f'Checking tag <b>{tag}</b> ({i+1}/{len(tag_list)})', parse_mode=ParseMode.HTML)
posts = []
page = 1
while True:
if page > 10:
break
page_posts = await e621.get_posts(tag, page)
if not page_posts:
break
logging.info(f'{page_posts}')
for post in page_posts:
if datetime.datetime.fromisoformat(post.created_at).timestamp() < timestamp:
break