diff --git a/main.py b/main.py
index 65b5bec..7038c36 100644
--- a/main.py
+++ b/main.py
@@ -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 {tag} ({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 {tag} ({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