弹幕录制添加礼物记录功能(兼容DanmakuFactory)

This commit is contained in:
2022-03-27 10:27:03 +08:00
parent ce701816b9
commit 5840b75b24
2 changed files with 17 additions and 3 deletions

View File

@ -315,6 +315,15 @@ class downloader(XiGuaLiveApi):
__danmakuFile = None
__danmakuBiasTime = None
def onPresentEnd(self, gift):
if self.__danmakuFile is not None and self.__danmakuFile.writable():
now = datetime.now()
if self.__danmakuBiasTime is None:
return
ts = (now - self.__danmakuBiasTime).total_seconds()
_c = """<gift ts="{:.2f}" user="{}" giftname="{}" giftcount="{}"></gift>""".format(ts, gift.user.name, gift.name, gift.count)
self.__danmakuFile.write(_c.encode("UTF-8"))
def onChat(self, chat):
if self.__danmakuFile is not None and self.__danmakuFile.writable():
now = datetime.now()
@ -323,6 +332,10 @@ class downloader(XiGuaLiveApi):
ts = (now - self.__danmakuBiasTime).total_seconds()
_c = """<d p="{:.2f},1,24,16777215,{:.0f},0,{},0" user="{}">{}</d>""".format(ts, now.timestamp()*1000, chat.user.ID, chat.user.name, chat.content)
self.__danmakuFile.write(_c.encode("UTF-8"))
def getDanmaku(self):
super(downloader, self).getDanmaku()
if self.__danmakuFile is not None and self.__danmakuFile.writable():
self.__danmakuFile.flush()
@property