fix message format

This commit is contained in:
jxxghp
2023-06-09 11:53:31 +08:00
parent 01428e9f8f
commit fd3ecacbb2
2 changed files with 48 additions and 16 deletions

View File

@ -27,7 +27,7 @@ class Telegram(metaclass=Singleton):
# 初始化机器人 # 初始化机器人
if self._telegram_token and self._telegram_chat_id: if self._telegram_token and self._telegram_chat_id:
# bot # bot
_bot = telebot.TeleBot(self._telegram_token, parse_mode="markdown") _bot = telebot.TeleBot(self._telegram_token, parse_mode="Markdown")
# 记录句柄 # 记录句柄
self._bot = _bot self._bot = _bot
@ -65,7 +65,7 @@ class Telegram(metaclass=Singleton):
if text: if text:
# text中的Markdown特殊字符转义 # text中的Markdown特殊字符转义
text = StringUtils.escape_markdown(text) text = StringUtils.escape_markdown(text)
caption = f"*{title}*\n{text}" caption = f"*{title}*\n\n{text}"
else: else:
caption = title caption = title
@ -93,18 +93,18 @@ class Telegram(metaclass=Singleton):
if not image: if not image:
image = media.get_message_image() image = media.get_message_image()
if media.vote_average: if media.vote_average:
caption = "%s\n%s. [%s](%s)\n%s%s" % (caption, caption = "%s\n%s. [%s](%s)\n_%s%s_" % (caption,
index, index,
media.get_title_string(), media.get_title_string(),
media.get_detail_url(), media.get_detail_url(),
f"类型:{media.type.value}", f"类型:{media.type.value}",
f"评分:{media.vote_average}") f"评分:{media.vote_average}")
else: else:
caption = "%s\n%s. [%s](%s)\n%s" % (caption, caption = "%s\n%s. [%s](%s)\n_%s_" % (caption,
index, index,
media.get_title_string(), media.get_title_string(),
media.get_detail_url(), media.get_detail_url(),
f"类型:{media.type.value}") f"类型:{media.type.value}")
index += 1 index += 1
if userid: if userid:
@ -157,11 +157,11 @@ class Telegram(metaclass=Singleton):
ret = self._bot.send_photo(chat_id=self._telegram_chat_id, ret = self._bot.send_photo(chat_id=self._telegram_chat_id,
photo=image, photo=image,
caption=caption, caption=caption,
parse_mode="markdown") parse_mode="Markdown")
else: else:
ret = self._bot.send_message(chat_id=self._telegram_chat_id, ret = self._bot.send_message(chat_id=self._telegram_chat_id,
text=caption, text=caption,
parse_mode="markdown") parse_mode="Markdown")
return True if ret else False return True if ret else False

View File

@ -15,6 +15,7 @@ from app.log import logger
from app.plugins import _PluginBase from app.plugins import _PluginBase
from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo from app.plugins.sitestatistic.siteuserinfo import ISiteUserInfo
from app.utils.http import RequestUtils from app.utils.http import RequestUtils
from app.utils.string import StringUtils
from app.utils.timer import TimerUtils from app.utils.timer import TimerUtils
import warnings import warnings
@ -23,7 +24,6 @@ from app.utils.types import EventType
warnings.filterwarnings("ignore", category=FutureWarning) warnings.filterwarnings("ignore", category=FutureWarning)
lock = Lock() lock = Lock()
@ -287,4 +287,36 @@ class SiteStatistic(_PluginBase):
# 更新时间 # 更新时间
self._last_update_time = datetime.now() self._last_update_time = datetime.now()
# 通知刷新完成
messages = []
# 按照上传降序排序
sites = self._sites_data.keys()
uploads = [self._sites_data[site].get("upload") or 0 for site in sites]
downloads = [self._sites_data[site].get("download") or 0 for site in sites]
data_list = sorted(list(zip(sites, uploads, downloads)),
key=lambda x: x[1],
reverse=True)
# 总上传
incUploads = 0
# 总下载
incDownloads = 0
for data in data_list:
site = data[0]
upload = int(data[1])
download = int(data[2])
if upload > 0 or download > 0:
incUploads += int(upload)
incDownloads += int(download)
messages.append(f"{site}\n"
f"上传量:{StringUtils.str_filesize(upload)}\n"
f"下载量:{StringUtils.str_filesize(download)}\n"
f"————————————")
if incDownloads or incUploads:
messages.insert(0, f"【汇总】\n"
f"总上传:{StringUtils.str_filesize(incUploads)}\n"
f"总下载:{StringUtils.str_filesize(incDownloads)}\n"
f"————————————")
self.chain.run_module("post_message", title="站点数据统计", text="\n".join(messages))
logger.info("站点数据刷新完成") logger.info("站点数据刷新完成")