diff --git a/lib/content.py b/lib/content.py index 3298d42..043b55d 100644 --- a/lib/content.py +++ b/lib/content.py @@ -1,9 +1,9 @@ from . import user +from bilibili_api import Credential import main def get_danmaku_content(event:str): uid=event["data"]["info"][2][0] - #name= user.user_info(uid=uid,Credential=main.c) content=event["data"]["info"][1] print(content) #print(name["name"],content) @@ -11,4 +11,18 @@ def get_danmaku_content(event:str): contents=main.config.roomcfg["chat"][f"{uid}"]["command"][content] except: print(contents) - return contents \ No newline at end of file + return contents + +def get_danmaku_ongift(event:str,credential:Credential): + info = event['data']['data'] + uid = info['uid'] + giftname=info['giftName'] + name= info['sender_uinfo']['base']['name'] + try: + contents=str(main.config.roomcfg["chat"]["global"]["events"]['gifts']) + contented=contents.replace(" {user} ",f"{name}") + except: + print(contented) + raise + + return contented \ No newline at end of file diff --git a/main.py b/main.py index 33d6d3f..950ac4a 100644 --- a/main.py +++ b/main.py @@ -25,7 +25,11 @@ def login(): def main(): @live.LiveDanma.on('VERIFICATION_SUCCESSFUL') async def on_successful(event): - await live.liveroom.send_danmaku(danmaku=live.Danmaku(text=config.roomcfg["connected"])) + # 连接成功 + try: + await live.liveroom.send_danmaku(danmaku=live.Danmaku(text=config.roomcfg["connected"])) + except: + print("connect command not found!") print(event) @live.LiveDanma.on('DANMU_MSG') @@ -52,15 +56,35 @@ async def on_danmaku(event): print(json.dumps(event,ensure_ascii=False)) print(name["name"],event["data"]["info"][1]) + @live.LiveDanma.on('WELCOME') + async def welcome(event): + # 老爷进入直播间 + print(json.dumps(event,ensure_ascii=False)) + + @live.LiveDanma.on('INTERACT_WORD') + async def on_welcome(event): + # 用户进入直播间 + print(json.dumps(event,ensure_ascii=False)) + + @live.LiveDanma.on('WELCOME_GUARD') + async def on_welcome_guard(event): + # 房管进入直播间 + print(json.dumps(event,ensure_ascii=False)) @live.LiveDanma.on('SEND_GIFT') async def on_gift(event): # 收到礼物,todo print(json.dumps(event,ensure_ascii=False)) + text = content.get_danmaku_ongift(event=event,credential=c) + try: + await live.liveroom.send_danmaku(danmaku=live.Danmaku(text=text)) + except: + print("\n") sync(live.LiveDanma.connect()) if __name__ == "__main__" : + config.loadroomcfg() print(config.roomcfg) login()