40
40
41
41
42
42
async def get_inoreader_item_async (
43
- data : Optional [Dict ] = None ,
44
- trigger : bool = False ,
45
- params : Optional [Dict ] = None ,
46
- # filters: Optional[Dict] = None,
43
+ data : Optional [Dict ] = None ,
44
+ trigger : bool = False ,
45
+ params : Optional [Dict ] = None ,
46
+ # filters: Optional[Dict] = None,
47
47
) -> None :
48
48
stream_id = None
49
49
use_inoreader_content = True
@@ -76,19 +76,19 @@ async def get_inoreader_item_async(
76
76
77
77
78
78
async def process_inoreader_data (
79
- data : list ,
80
- use_inoreader_content : bool ,
81
- telegram_channel_id : Union [int , str ] = default_telegram_channel_id ,
82
- stream_id : str = None ,
79
+ data : list ,
80
+ use_inoreader_content : bool ,
81
+ telegram_channel_id : Union [int , str ] = default_telegram_channel_id ,
82
+ stream_id : str = None ,
83
83
):
84
84
for item in data :
85
85
url_type_item = await get_url_metadata (item ["aurl" ])
86
86
url_type_dict = url_type_item .to_dict ()
87
87
logger .debug (f"ino original: { use_inoreader_content } " )
88
88
if (
89
- use_inoreader_content is True
90
- or url_type_dict ["content_type" ] == "unknown"
91
- # or url_type_dict["source"] == "zhihu"
89
+ use_inoreader_content is True
90
+ or url_type_dict ["content_type" ] == "unknown"
91
+ # or url_type_dict["source"] == "zhihu"
92
92
):
93
93
is_video = url_type_dict ["content_type" ] == "video"
94
94
content_type = url_type_dict ["content_type" ] if is_video else "social_media"
@@ -118,6 +118,10 @@ async def process_inoreader_data(
118
118
)
119
119
120
120
121
+ async def get_inoreader_webhook_data (data : dict ):
122
+ result = data ["items" ]
123
+ return result
124
+
121
125
# @router.post("/", dependencies=[Security(verify_api_key)])
122
126
# async def inoreader_repost_webhook(request: Request, background_tasks: BackgroundTasks):
123
127
# data = await request.json()
@@ -142,3 +146,11 @@ async def inoreader_trigger_webhook(request: Request):
142
146
params = request .query_params
143
147
await get_inoreader_item_async (trigger = True , params = params )
144
148
return "ok"
149
+
150
+
151
+ @router .post ("/webhook" , dependencies = [Security (verify_api_key )])
152
+ async def inoreader_tag_webhook (request : Request ):
153
+ data = await request .json ()
154
+ data = await Inoreader .process_items_data (data )
155
+ await process_inoreader_data (data = data , use_inoreader_content = True , telegram_channel_id = default_telegram_channel_id )
156
+ return "ok"
0 commit comments