[misskey] add 'date-min' & 'date-max' options (#8516)

TODO: implement 'order-posts' option
This commit is contained in:
Mike Fährmann
2025-11-10 19:10:37 +01:00
parent 9e3e12ef8e
commit 8876272e3c
3 changed files with 23 additions and 1 deletions

View File

@@ -4145,6 +4145,16 @@ Description
Your access token, necessary to fetch favorited notes. Your access token, necessary to fetch favorited notes.
extractor.[misskey].date-min & .date-max
----------------------------------------
Type
|Date|_
Default
``null``
Description
Retrieve only notes posted after/before this |Date|_
extractor.[misskey].include extractor.[misskey].include
--------------------------- ---------------------------
Type Type

View File

@@ -1079,6 +1079,8 @@
"misskey": "misskey":
{ {
"access-token": null, "access-token": null,
"date-min" : null,
"date-max" : null,
"include" : ["notes"], "include" : ["notes"],
"renotes" : false, "renotes" : false,
"replies" : true, "replies" : true,

View File

@@ -7,7 +7,7 @@
"""Extractors for Misskey instances""" """Extractors for Misskey instances"""
from .common import BaseExtractor, Message, Dispatch from .common import BaseExtractor, Message, Dispatch
from .. import text, exception from .. import text, dt, exception
from ..cache import memcache from ..cache import memcache
@@ -253,6 +253,16 @@ class MisskeyAPI():
data["withRenotes"] = extr.renotes data["withRenotes"] = extr.renotes
data["withFiles"] = False if extr.config("text-posts") else True data["withFiles"] = False if extr.config("text-posts") else True
date_min, date_max = extr._get_date_min_max()
if date_min is not None:
data["sinceDate"] = date_min * 1000
if date_max is None:
# ensure notes are returned in descending order
# TODO: implement 'order-posts' option
data["untilDate"] = (int(dt.to_ts(dt.now())) + 1000) * 1000
if date_max is not None:
data["untilDate"] = date_max * 1000
while True: while True:
notes = self._call(endpoint, data) notes = self._call(endpoint, data)
if not notes: if not notes: