fix resend after
This commit is contained in:
parent
973f432b53
commit
c88e5e7ab1
15
main.py
15
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 <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
|
||||
|
Loading…
Reference in New Issue
Block a user