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)
|
@dp.message(filters.Command('resend_after'), ChatFilter)
|
||||||
async def resend_after(msg: Message):
|
async def resend_after(msg: Message):
|
||||||
|
args = msg.text.split()[1:]
|
||||||
try:
|
try:
|
||||||
timestamp = int(msg.text.split()[1])
|
timestamp = int(args[0])
|
||||||
|
skip_to_sub = int(args[1]) if len(args) > 1 else None
|
||||||
except:
|
except:
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
await msg.reply('Invalid timestamp or not provided')
|
await msg.reply('Invalid timestamp or not provided')
|
||||||
return
|
return
|
||||||
|
|
||||||
async with redis.lock(REDIS_LOCK_KEY):
|
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):
|
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 = []
|
posts = []
|
||||||
page = 1
|
page = 1
|
||||||
while True:
|
while True:
|
||||||
|
if page > 10:
|
||||||
|
break
|
||||||
page_posts = await e621.get_posts(tag, page)
|
page_posts = await e621.get_posts(tag, page)
|
||||||
if not page_posts:
|
if not page_posts:
|
||||||
break
|
break
|
||||||
|
logging.info(f'{page_posts}')
|
||||||
for post in page_posts:
|
for post in page_posts:
|
||||||
if datetime.datetime.fromisoformat(post.created_at).timestamp() < timestamp:
|
if datetime.datetime.fromisoformat(post.created_at).timestamp() < timestamp:
|
||||||
break
|
break
|
||||||
|
Loading…
Reference in New Issue
Block a user