diff options
Diffstat (limited to 'ATRI/plugins/twitter')
-rw-r--r-- | ATRI/plugins/twitter/__init__.py | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/ATRI/plugins/twitter/__init__.py b/ATRI/plugins/twitter/__init__.py index 6e69cc1..f80ed4d 100644 --- a/ATRI/plugins/twitter/__init__.py +++ b/ATRI/plugins/twitter/__init__.py @@ -1,8 +1,7 @@ import re -import pytz import asyncio from tabulate import tabulate -from datetime import datetime, timedelta +from datetime import datetime, timedelta, timezone as tz from apscheduler.triggers.base import BaseTrigger from apscheduler.triggers.combining import AndTrigger @@ -104,12 +103,10 @@ async def _td_get_sub_list(event: GroupMessageEvent): subs = list() for i in query_result: - raw_tm = ( - i.last_update.replace(tzinfo=pytz.timezone("Asia/Shanghai")) - + timedelta(hours=8, minutes=8) + t = ( + i.last_update.replace(tzinfo=tz(timedelta(hours=8))) ).timestamp() - tm = datetime.fromtimestamp(raw_tm).strftime("%m-%d %H:%M:%S") - subs.append([i.name, tm]) + subs.append([i.name, t]) output = "本群订阅的推主列表如下~\n" + tabulate( subs, headers=["推主", "最后更新时间"], tablefmt="plain" @@ -183,10 +180,11 @@ async def _check_td(): log.info(f"准备查询推主 {m.name}@{m.screen_name} 的动态,队列剩余 {tq.qsize()}") - raw_ts = m.last_update.replace( - tzinfo=pytz.timezone("Asia/Shanghai") - ) + timedelta(hours=8, minutes=8) - ts = raw_ts.timestamp() + # raw_ts = m.last_update.replace( + # tzinfo=pytz.timezone("Asia/Shanghai") + # ) + timedelta(hours=8, minutes=8) + # ts = raw_ts.timestamp() + ts = m.last_update.timestamp() info: dict = await sub.get_twitter_user_info(m.screen_name) if not info.get("status", list()): @@ -196,8 +194,9 @@ async def _check_td(): t_time = info["status"]["created_at"] time_patt = "%a %b %d %H:%M:%S +0000 %Y" - raw_t = datetime.strptime(t_time, time_patt) + timedelta(hours=8) - ts_t = raw_t.timestamp() + # raw_t = datetime.strptime(t_time, time_patt) + timedelta(hours=8) + # ts_t = raw_t.timestamp() + ts_t = datetime.strptime(t_time, time_patt).timestamp() if ts < ts_t: raw_media = info["status"]["entities"].get("media", dict()) @@ -215,7 +214,7 @@ async def _check_td(): log.warning("推信息发送失败") await sub.update_sub( - m.tid, m.group_id, {"last_update": TimeDealer(ts_t).to_datetime()} + m.tid, m.group_id, {"last_update": TimeDealer(ts_t, tz(timedelta(hours=0))).to_datetime()} ) if _pic: pic = Message(MessageSegment.image(_pic)) |