diff --git a/api.py b/api.py index 563c9555..493b66c9 100644 --- a/api.py +++ b/api.py @@ -480,13 +480,13 @@ async def _(event): global_idle_time = 0 content = event["data"]["info"][1] # 获取弹幕内容 - user_name = event["data"]["info"][2][1] # 获取发送弹幕的用户昵称 + username = event["data"]["info"][2][1] # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": "哔哩哔哩", - "username": user_name, + "username": username, "content": content } @@ -500,18 +500,18 @@ async def _(event): """ gift_name = event["data"]["data"]["gift_name"] - user_name = event["data"]["data"]["uname"] + username = event["data"]["data"]["uname"] # 礼物数量 combo_num = event["data"]["data"]["combo_num"] # 总金额 combo_total_coin = event["data"]["data"]["combo_total_coin"] - logging.info(f"用户:{user_name} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") + logging.info(f"用户:{username} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") data = { "platform": "哔哩哔哩", "gift_name": gift_name, - "username": user_name, + "username": username, "num": combo_num, "unit_price": combo_total_coin / combo_num / 1000, "total_price": combo_total_coin / 1000 @@ -529,7 +529,7 @@ async def _(event): # print(event) gift_name = event["data"]["data"]["giftName"] - user_name = event["data"]["data"]["uname"] + username = event["data"]["data"]["uname"] # 礼物数量 num = event["data"]["data"]["num"] # 总金额 @@ -537,12 +537,12 @@ async def _(event): # 单个礼物金额 discount_price = event["data"]["data"]["discount_price"] - logging.info(f"用户:{user_name} 赠送 {num} 个 {gift_name},单价 {discount_price}电池,总计 {combo_total_coin}电池") + logging.info(f"用户:{username} 赠送 {num} 个 {gift_name},单价 {discount_price}电池,总计 {combo_total_coin}电池") data = { "platform": "哔哩哔哩", "gift_name": gift_name, - "username": user_name, + "username": username, "num": num, "unit_price": discount_price / 1000, "total_price": combo_total_coin / 1000 @@ -594,16 +594,16 @@ async def _(event): """ global last_username_list - user_name = event["data"]["data"]["uname"] + username = event["data"]["data"]["uname"] - logging.info(f"用户:{user_name} 进入直播间") + logging.info(f"用户:{username} 进入直播间") # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) data = { "platform": "哔哩哔哩", - "username": user_name, + "username": username, "content": "进入直播间" } @@ -765,16 +765,16 @@ def __interact_word_callback(self, client: blivedm.BLiveClient, command: dict): global last_username_list - user_name = command['data']['uname'] + username = command['data']['uname'] - logging.info(f"用户:{user_name} 进入直播间") + logging.info(f"用户:{username} 进入直播间") # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) data = { "platform": "哔哩哔哩2", - "username": user_name, + "username": username, "content": "进入直播间" } @@ -793,13 +793,13 @@ def _on_danmaku(self, client: blivedm.BLiveClient, message: web_models.DanmakuMe # logging.info(f'[{client.room_id}] {message.uname}:{message.msg}') content = message.msg # 获取弹幕内容 - user_name = message.uname # 获取发送弹幕的用户昵称 + username = message.uname # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": "哔哩哔哩2", - "username": user_name, + "username": username, "content": content } @@ -810,18 +810,18 @@ def _on_gift(self, client: blivedm.BLiveClient, message: web_models.GiftMessage) # f' ({message.coin_type}瓜子x{message.total_coin})') gift_name = message.gift_name - user_name = message.uname + username = message.uname # 礼物数量 combo_num = message.num # 总金额 combo_total_coin = message.total_coin - logging.info(f"用户:{user_name} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") + logging.info(f"用户:{username} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") data = { "platform": "哔哩哔哩2", "gift_name": gift_name, - "username": user_name, + "username": username, "num": combo_num, "unit_price": combo_total_coin / combo_num / 1000, "total_price": combo_total_coin / 1000 @@ -867,13 +867,13 @@ def _on_open_live_danmaku(self, client: blivedm.OpenLiveClient, message: open_mo # logging.info(f'[{client.room_id}] {message.uname}:{message.msg}') content = message.msg # 获取弹幕内容 - user_name = message.uname # 获取发送弹幕的用户昵称 + username = message.uname # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": "哔哩哔哩2", - "username": user_name, + "username": username, "content": content } @@ -881,18 +881,18 @@ def _on_open_live_danmaku(self, client: blivedm.OpenLiveClient, message: open_mo def _on_open_live_gift(self, client: blivedm.OpenLiveClient, message: open_models.GiftMessage): gift_name = message.gift_name - user_name = message.uname + username = message.uname # 礼物数量 combo_num = message.gift_num # 总金额 combo_total_coin = message.price * message.gift_num - logging.info(f"用户:{user_name} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") + logging.info(f"用户:{username} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") data = { "platform": "哔哩哔哩2", "gift_name": gift_name, - "username": user_name, + "username": username, "num": combo_num, "unit_price": combo_total_coin / combo_num / 1000, "total_price": combo_total_coin / 1000 @@ -957,21 +957,21 @@ async def on_message(websocket, path): # 闲时计数清零 global_idle_time = 0 - user_name = data_json["username"] + username = data_json["username"] content = data_json["content"] - logging.info(f'[📧直播间弹幕消息] [{user_name}]:{content}') + logging.info(f'[📧直播间弹幕消息] [{username}]:{content}') data = { "platform": "斗鱼", - "username": user_name, + "username": username, "content": content } my_handle.process_data(data, "comment") # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) except Exception as e: logging.error(e) @@ -1005,14 +1005,14 @@ def on_message(ws, message): # 闲时计数清零 global_idle_time = 0 - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] content = data_json["Content"] - logging.info(f'[📧直播间弹幕消息] [{user_name}]:{content}') + logging.info(f'[📧直播间弹幕消息] [{username}]:{content}') data = { "platform": "抖音", - "username": user_name, + "username": username, "content": content } @@ -1021,35 +1021,35 @@ def on_message(ws, message): pass elif type == 2: - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] count = data_json["Count"] - logging.info(f'[👍直播间点赞消息] {user_name} 点了{count}赞') + logging.info(f'[👍直播间点赞消息] {username} 点了{count}赞') elif type == 3: - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] - logging.info(f'[🚹🚺直播间成员加入消息] 欢迎 {user_name} 进入直播间') + logging.info(f'[🚹🚺直播间成员加入消息] 欢迎 {username} 进入直播间') data = { "platform": "抖音", - "username": user_name, + "username": username, "content": "进入直播间" } # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) my_handle.process_data(data, "entrance") elif type == 4: - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] logging.info(f'[➕直播间关注消息] 感谢 {data_json["User"]["Nickname"]} 的关注') data = { "platform": "抖音", - "username": user_name + "username": username } my_handle.process_data(data, "follow") @@ -1058,7 +1058,7 @@ def on_message(ws, message): elif type == 5: gift_name = data_json["GiftName"] - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] # 礼物数量 num = data_json["GiftCount"] # 礼物重复数量 @@ -1087,12 +1087,12 @@ def on_message(ws, message): # 总金额 combo_total_coin = repeat_count * discount_price - logging.info(f'[🎁直播间礼物消息] 用户:{user_name} 赠送 {num} 个 {gift_name},单价 {discount_price}抖币,总计 {combo_total_coin}抖币') + logging.info(f'[🎁直播间礼物消息] 用户:{username} 赠送 {num} 个 {gift_name},单价 {discount_price}抖币,总计 {combo_total_coin}抖币') data = { "platform": "抖音", "gift_name": gift_name, - "username": user_name, + "username": username, "num": num, "unit_price": discount_price / 10, "total_price": combo_total_coin / 10 @@ -1548,11 +1548,11 @@ def do_listen_and_comment(status=True): # 输出识别结果 logging.info("识别结果:" + content) - user_name = config.get("talk", "username") + username = config.get("talk", "username") data = { "platform": "本地聊天", - "username": user_name, + "username": username, "content": content } @@ -1576,11 +1576,11 @@ def do_listen_and_comment(status=True): # 输出识别结果 # logging.info("识别结果:" + content) - user_name = config.get("talk", "username") + username = config.get("talk", "username") data = { "platform": "本地聊天", - "username": user_name, + "username": username, "content": content } @@ -1733,15 +1733,15 @@ def key_listener(): match = re.match(regex, resp) - user_name = match.group(1) + username = match.group(1) content = match.group(2) content = content.rstrip() - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": "twitch", - "username": user_name, + "username": username, "content": content } @@ -1802,13 +1802,13 @@ def key_listener(): # logging.info(chat) content = chat_raw # 获取弹幕内容 - user_name = c.author.name # 获取发送弹幕的用户昵称 + username = c.author.name # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": "YouTube", - "username": user_name, + "username": username, "content": content } diff --git a/config.json b/config.json index 7ffa3f2f..eaec3991 100644 --- a/config.json +++ b/config.json @@ -60,7 +60,7 @@ "proxy_server": "127.0.0.1", "proxy_port": "10809" }, - "read_user_name": { + "read_username": { "enable": false, "username_max_len": 10, "voice_change": false, @@ -220,7 +220,7 @@ "user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。", "bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。", "bot_name": "苏梦远", - "user_name": "陆星辰", + "username": "陆星辰", "remove_useless": false }, "chat_with_file": { @@ -333,7 +333,7 @@ "temperature": 0.92, "seed": 1683806810, "user_id": "1", - "user_name": "主人", + "username": "主人", "role_name": "伊卡洛斯" }, "history_enable": true, @@ -785,22 +785,22 @@ { "entrance_num_interval": "0-3", "copywriting": [ - "{user_name},感谢您的观看,获得{get_integral}点积分", - "欢迎{user_name},获得{get_integral}点积分" + "{username},感谢您的观看,获得{get_integral}点积分", + "欢迎{username},获得{get_integral}点积分" ] }, { "entrance_num_interval": "4-29", "copywriting": [ - "{user_name},感谢您的观看,获得{get_integral}点积分", - "欢迎{user_name},今天是您看我的{entrance_num}天,我很开心" + "{username},感谢您的观看,获得{get_integral}点积分", + "欢迎{username},今天是您看我的{entrance_num}天,我很开心" ] }, { "entrance_num_interval": "30-666666", "copywriting": [ - "{user_name},今天是您看我的{entrance_num}天,获得{get_integral}点积分", - "非常感谢{user_name}的陪伴,有您这样的粉丝,主播生涯也是没有遗憾了" + "{username},今天是您看我的{entrance_num}天,获得{get_integral}点积分", + "非常感谢{username}的陪伴,有您这样的粉丝,主播生涯也是没有遗憾了" ] } ] @@ -812,22 +812,22 @@ { "gift_price_interval": "0-1", "copywriting": [ - "感谢{user_name}的{gift_name},获得{get_integral}点积分", - "感谢{user_name}的{gift_name}" + "感谢{username}的{gift_name},获得{get_integral}点积分", + "感谢{username}的{gift_name}" ] }, { "gift_price_interval": "1.01-10", "copywriting": [ - "感谢{user_name}的{gift_name},老板大气,获得{get_integral}点积分", - "感谢{user_name}的{gift_name},获得{get_integral}点积分" + "感谢{username}的{gift_name},老板大气,获得{get_integral}点积分", + "感谢{username}的{gift_name},获得{get_integral}点积分" ] }, { "gift_price_interval": "10.01-88888888", "copywriting": [ - "感谢{user_name}的{gift_name},获得{get_integral}点积分", - "感谢{user_name}的{gift_name},您真是在下的衣食父母啊" + "感谢{username}的{gift_name},获得{get_integral}点积分", + "感谢{username}的{gift_name},您真是在下的衣食父母啊" ] } ] @@ -844,22 +844,22 @@ { "sign_num_interval": "0-3", "copywriting": [ - "{user_name}打卡成功,获得{get_integral}点积分,您已打卡{sign_num}天", - "{user_name}打卡成功喵,获得{get_integral}点积分" + "{username}打卡成功,获得{get_integral}点积分,您已打卡{sign_num}天", + "{username}打卡成功喵,获得{get_integral}点积分" ] }, { "sign_num_interval": "4-30", "copywriting": [ - "{user_name}打卡成功,获得{get_integral}点积分,您已打卡{sign_num}天", - "{user_name}打卡成功喵,获得{get_integral}点积分,感谢您{sign_num}天的陪伴" + "{username}打卡成功,获得{get_integral}点积分,您已打卡{sign_num}天", + "{username}打卡成功喵,获得{get_integral}点积分,感谢您{sign_num}天的陪伴" ] }, { "sign_num_interval": "31-666666", "copywriting": [ - "非常感谢{user_name}的陪伴,有您这样的粉丝,主播生涯也是没有遗憾了", - "{user_name}打卡成功喵,获得{get_integral}点积分,感谢您{sign_num}天的陪伴" + "非常感谢{username}的陪伴,有您这样的粉丝,主播生涯也是没有遗憾了", + "{username}打卡成功喵,获得{get_integral}点积分,感谢您{sign_num}天的陪伴" ] } ] @@ -872,8 +872,8 @@ "查询积分" ], "copywriting": [ - "{user_name}查询成功,您当前的积分是{integral}", - "{user_name},您当前的积分是{integral}" + "{username}查询成功,您当前的积分是{integral}", + "{username},您当前的积分是{integral}" ] } } @@ -899,7 +899,7 @@ "similarity": "1", "copywriting": [ "感谢{gift_name}", - "感谢{user_name}送的{gift_name}" + "感谢{username}送的{gift_name}" ] }, { @@ -916,7 +916,7 @@ "similarity": "1", "copywriting": [ "感谢{gift_name}", - "感谢{user_name}送的{gift_name}" + "感谢{username}送的{gift_name}" ] }, { @@ -946,7 +946,7 @@ "similarity": "1", "copywriting": [ "感谢{gift_name}", - "感谢{user_name}送的{gift_name}", + "感谢{username}送的{gift_name}", "我最喜欢{gift_name}了,谢谢", "送我{gift_name},你真是个好人" ] @@ -1268,7 +1268,7 @@ "show_card": { "common_config": { "read_comment": true, - "read_user_name": true, + "read_username": true, "filter": true, "thanks": true, "audio_random_speed": true, diff --git a/config.json.bak b/config.json.bak index 7ffa3f2f..eaec3991 100644 --- a/config.json.bak +++ b/config.json.bak @@ -60,7 +60,7 @@ "proxy_server": "127.0.0.1", "proxy_port": "10809" }, - "read_user_name": { + "read_username": { "enable": false, "username_max_len": 10, "voice_change": false, @@ -220,7 +220,7 @@ "user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。", "bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。", "bot_name": "苏梦远", - "user_name": "陆星辰", + "username": "陆星辰", "remove_useless": false }, "chat_with_file": { @@ -333,7 +333,7 @@ "temperature": 0.92, "seed": 1683806810, "user_id": "1", - "user_name": "主人", + "username": "主人", "role_name": "伊卡洛斯" }, "history_enable": true, @@ -785,22 +785,22 @@ { "entrance_num_interval": "0-3", "copywriting": [ - "{user_name},感谢您的观看,获得{get_integral}点积分", - "欢迎{user_name},获得{get_integral}点积分" + "{username},感谢您的观看,获得{get_integral}点积分", + "欢迎{username},获得{get_integral}点积分" ] }, { "entrance_num_interval": "4-29", "copywriting": [ - "{user_name},感谢您的观看,获得{get_integral}点积分", - "欢迎{user_name},今天是您看我的{entrance_num}天,我很开心" + "{username},感谢您的观看,获得{get_integral}点积分", + "欢迎{username},今天是您看我的{entrance_num}天,我很开心" ] }, { "entrance_num_interval": "30-666666", "copywriting": [ - "{user_name},今天是您看我的{entrance_num}天,获得{get_integral}点积分", - "非常感谢{user_name}的陪伴,有您这样的粉丝,主播生涯也是没有遗憾了" + "{username},今天是您看我的{entrance_num}天,获得{get_integral}点积分", + "非常感谢{username}的陪伴,有您这样的粉丝,主播生涯也是没有遗憾了" ] } ] @@ -812,22 +812,22 @@ { "gift_price_interval": "0-1", "copywriting": [ - "感谢{user_name}的{gift_name},获得{get_integral}点积分", - "感谢{user_name}的{gift_name}" + "感谢{username}的{gift_name},获得{get_integral}点积分", + "感谢{username}的{gift_name}" ] }, { "gift_price_interval": "1.01-10", "copywriting": [ - "感谢{user_name}的{gift_name},老板大气,获得{get_integral}点积分", - "感谢{user_name}的{gift_name},获得{get_integral}点积分" + "感谢{username}的{gift_name},老板大气,获得{get_integral}点积分", + "感谢{username}的{gift_name},获得{get_integral}点积分" ] }, { "gift_price_interval": "10.01-88888888", "copywriting": [ - "感谢{user_name}的{gift_name},获得{get_integral}点积分", - "感谢{user_name}的{gift_name},您真是在下的衣食父母啊" + "感谢{username}的{gift_name},获得{get_integral}点积分", + "感谢{username}的{gift_name},您真是在下的衣食父母啊" ] } ] @@ -844,22 +844,22 @@ { "sign_num_interval": "0-3", "copywriting": [ - "{user_name}打卡成功,获得{get_integral}点积分,您已打卡{sign_num}天", - "{user_name}打卡成功喵,获得{get_integral}点积分" + "{username}打卡成功,获得{get_integral}点积分,您已打卡{sign_num}天", + "{username}打卡成功喵,获得{get_integral}点积分" ] }, { "sign_num_interval": "4-30", "copywriting": [ - "{user_name}打卡成功,获得{get_integral}点积分,您已打卡{sign_num}天", - "{user_name}打卡成功喵,获得{get_integral}点积分,感谢您{sign_num}天的陪伴" + "{username}打卡成功,获得{get_integral}点积分,您已打卡{sign_num}天", + "{username}打卡成功喵,获得{get_integral}点积分,感谢您{sign_num}天的陪伴" ] }, { "sign_num_interval": "31-666666", "copywriting": [ - "非常感谢{user_name}的陪伴,有您这样的粉丝,主播生涯也是没有遗憾了", - "{user_name}打卡成功喵,获得{get_integral}点积分,感谢您{sign_num}天的陪伴" + "非常感谢{username}的陪伴,有您这样的粉丝,主播生涯也是没有遗憾了", + "{username}打卡成功喵,获得{get_integral}点积分,感谢您{sign_num}天的陪伴" ] } ] @@ -872,8 +872,8 @@ "查询积分" ], "copywriting": [ - "{user_name}查询成功,您当前的积分是{integral}", - "{user_name},您当前的积分是{integral}" + "{username}查询成功,您当前的积分是{integral}", + "{username},您当前的积分是{integral}" ] } } @@ -899,7 +899,7 @@ "similarity": "1", "copywriting": [ "感谢{gift_name}", - "感谢{user_name}送的{gift_name}" + "感谢{username}送的{gift_name}" ] }, { @@ -916,7 +916,7 @@ "similarity": "1", "copywriting": [ "感谢{gift_name}", - "感谢{user_name}送的{gift_name}" + "感谢{username}送的{gift_name}" ] }, { @@ -946,7 +946,7 @@ "similarity": "1", "copywriting": [ "感谢{gift_name}", - "感谢{user_name}送的{gift_name}", + "感谢{username}送的{gift_name}", "我最喜欢{gift_name}了,谢谢", "送我{gift_name},你真是个好人" ] @@ -1268,7 +1268,7 @@ "show_card": { "common_config": { "read_comment": true, - "read_user_name": true, + "read_username": true, "filter": true, "thanks": true, "audio_random_speed": true, diff --git "a/docs/\346\212\225\350\265\204\344\272\272/index.html" "b/docs/\346\212\225\350\265\204\344\272\272/index.html" index bf42aadc..c64cea86 100644 --- "a/docs/\346\212\225\350\265\204\344\272\272/index.html" +++ "b/docs/\346\212\225\350\265\204\344\272\272/index.html" @@ -366,6 +366,11 @@ avatar: "https://images.cnblogs.com/cnblogs_com/ikaros-521/2328032/o_240227055431_QQ%E5%9B%BE%E7%89%8720240227135347.jpg", amount: "¥50" }, + { + name: "珂", + avatar: "https://images.cnblogs.com/cnblogs_com/ikaros-521/2328032/o_240309040204_QQ%E5%9B%BE%E7%89%8720240309114614.jpg", + amount: "¥50" + }, { name: "Yuno", avatar: "https://images.cnblogs.com/cnblogs_com/ikaros-521/2328032/o_230719132530_QQ%E5%9B%BE%E7%89%8720230719212024.jpg", diff --git "a/docs/\346\212\225\350\265\204\344\272\272/invest.png" "b/docs/\346\212\225\350\265\204\344\272\272/invest.png" index 68ceca79..30fefa1f 100644 Binary files "a/docs/\346\212\225\350\265\204\344\272\272/invest.png" and "b/docs/\346\212\225\350\265\204\344\272\272/invest.png" differ diff --git a/main.py b/main.py index 0a20611b..8f571b15 100644 --- a/main.py +++ b/main.py @@ -305,11 +305,11 @@ def do_listen_and_comment(status=True): # 输出识别结果 logging.info("识别结果:" + content) - user_name = config.get("talk", "username") + username = config.get("talk", "username") data = { "platform": "本地聊天", - "username": user_name, + "username": username, "content": content } @@ -333,11 +333,11 @@ def do_listen_and_comment(status=True): # 输出识别结果 # logging.info("识别结果:" + content) - user_name = config.get("talk", "username") + username = config.get("talk", "username") data = { "platform": "本地聊天", - "username": user_name, + "username": username, "content": content } @@ -392,11 +392,11 @@ def do_listen_and_comment(status=True): # 输出识别结果 logging.info("识别结果:" + content) - user_name = config.get("talk", "username") + username = config.get("talk", "username") data = { "platform": "本地聊天", - "username": user_name, + "username": username, "content": content } @@ -865,13 +865,13 @@ async def _(event): global_idle_time = 0 content = event["data"]["info"][1] # 获取弹幕内容 - user_name = event["data"]["info"][2][1] # 获取发送弹幕的用户昵称 + username = event["data"]["info"][2][1] # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": platform, - "username": user_name, + "username": username, "content": content } @@ -885,18 +885,18 @@ async def _(event): """ gift_name = event["data"]["data"]["gift_name"] - user_name = event["data"]["data"]["uname"] + username = event["data"]["data"]["uname"] # 礼物数量 combo_num = event["data"]["data"]["combo_num"] # 总金额 combo_total_coin = event["data"]["data"]["combo_total_coin"] - logging.info(f"用户:{user_name} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") + logging.info(f"用户:{username} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") data = { "platform": platform, "gift_name": gift_name, - "username": user_name, + "username": username, "num": combo_num, "unit_price": combo_total_coin / combo_num / 1000, "total_price": combo_total_coin / 1000 @@ -914,7 +914,7 @@ async def _(event): # print(event) gift_name = event["data"]["data"]["giftName"] - user_name = event["data"]["data"]["uname"] + username = event["data"]["data"]["uname"] # 礼物数量 num = event["data"]["data"]["num"] # 总金额 @@ -922,12 +922,12 @@ async def _(event): # 单个礼物金额 discount_price = event["data"]["data"]["discount_price"] - logging.info(f"用户:{user_name} 赠送 {num} 个 {gift_name},单价 {discount_price}电池,总计 {combo_total_coin}电池") + logging.info(f"用户:{username} 赠送 {num} 个 {gift_name},单价 {discount_price}电池,总计 {combo_total_coin}电池") data = { "platform": platform, "gift_name": gift_name, - "username": user_name, + "username": username, "num": num, "unit_price": discount_price / 1000, "total_price": combo_total_coin / 1000 @@ -979,16 +979,16 @@ async def _(event): """ global last_username_list - user_name = event["data"]["data"]["uname"] + username = event["data"]["data"]["uname"] - logging.info(f"用户:{user_name} 进入直播间") + logging.info(f"用户:{username} 进入直播间") # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) data = { "platform": platform, - "username": user_name, + "username": username, "content": "进入直播间" } @@ -1153,16 +1153,16 @@ def __interact_word_callback(self, client: blivedm.BLiveClient, command: dict): global last_username_list - user_name = command['data']['uname'] + username = command['data']['uname'] - logging.info(f"用户:{user_name} 进入直播间") + logging.info(f"用户:{username} 进入直播间") # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) data = { "platform": platform, - "username": user_name, + "username": username, "content": "进入直播间" } @@ -1181,13 +1181,13 @@ def _on_danmaku(self, client: blivedm.BLiveClient, message: web_models.DanmakuMe # logging.info(f'[{client.room_id}] {message.uname}:{message.msg}') content = message.msg # 获取弹幕内容 - user_name = message.uname # 获取发送弹幕的用户昵称 + username = message.uname # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": platform, - "username": user_name, + "username": username, "content": content } @@ -1198,18 +1198,18 @@ def _on_gift(self, client: blivedm.BLiveClient, message: web_models.GiftMessage) # f' ({message.coin_type}瓜子x{message.total_coin})') gift_name = message.gift_name - user_name = message.uname + username = message.uname # 礼物数量 combo_num = message.num # 总金额 combo_total_coin = message.total_coin - logging.info(f"用户:{user_name} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") + logging.info(f"用户:{username} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") data = { "platform": platform, "gift_name": gift_name, - "username": user_name, + "username": username, "num": combo_num, "unit_price": combo_total_coin / combo_num / 1000, "total_price": combo_total_coin / 1000 @@ -1255,13 +1255,13 @@ def _on_open_live_danmaku(self, client: blivedm.OpenLiveClient, message: open_mo # logging.info(f'[{client.room_id}] {message.uname}:{message.msg}') content = message.msg # 获取弹幕内容 - user_name = message.uname # 获取发送弹幕的用户昵称 + username = message.uname # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": platform, - "username": user_name, + "username": username, "content": content } @@ -1269,18 +1269,18 @@ def _on_open_live_danmaku(self, client: blivedm.OpenLiveClient, message: open_mo def _on_open_live_gift(self, client: blivedm.OpenLiveClient, message: open_models.GiftMessage): gift_name = message.gift_name - user_name = message.uname + username = message.uname # 礼物数量 combo_num = message.gift_num # 总金额 combo_total_coin = message.price * message.gift_num - logging.info(f"用户:{user_name} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") + logging.info(f"用户:{username} 赠送 {combo_num} 个 {gift_name},总计 {combo_total_coin}电池") data = { "platform": platform, "gift_name": gift_name, - "username": user_name, + "username": username, "num": combo_num, "unit_price": combo_total_coin / combo_num / 1000, "total_price": combo_total_coin / 1000 @@ -1347,21 +1347,21 @@ async def on_message(websocket, path): # 闲时计数清零 global_idle_time = 0 - user_name = data_json["username"] + username = data_json["username"] content = data_json["content"] - logging.info(f'[📧直播间弹幕消息] [{user_name}]:{content}') + logging.info(f'[📧直播间弹幕消息] [{username}]:{content}') data = { "platform": platform, - "username": user_name, + "username": username, "content": content } my_handle.process_data(data, "comment") # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) except Exception as e: logging.error(traceback.format_exc()) @@ -1396,14 +1396,14 @@ def on_message(ws, message): # 闲时计数清零 global_idle_time = 0 - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] content = data_json["Content"] - logging.info(f'[📧直播间弹幕消息] [{user_name}]:{content}') + logging.info(f'[📧直播间弹幕消息] [{username}]:{content}') data = { "platform": platform, - "username": user_name, + "username": username, "content": content } @@ -1412,35 +1412,35 @@ def on_message(ws, message): pass elif type == 2: - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] count = data_json["Count"] - logging.info(f'[👍直播间点赞消息] {user_name} 点了{count}赞') + logging.info(f'[👍直播间点赞消息] {username} 点了{count}赞') elif type == 3: - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] - logging.info(f'[🚹🚺直播间成员加入消息] 欢迎 {user_name} 进入直播间') + logging.info(f'[🚹🚺直播间成员加入消息] 欢迎 {username} 进入直播间') data = { "platform": platform, - "username": user_name, + "username": username, "content": "进入直播间" } # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) my_handle.process_data(data, "entrance") elif type == 4: - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] logging.info(f'[➕直播间关注消息] 感谢 {data_json["User"]["Nickname"]} 的关注') data = { "platform": platform, - "username": user_name + "username": username } my_handle.process_data(data, "follow") @@ -1449,7 +1449,7 @@ def on_message(ws, message): elif type == 5: gift_name = data_json["GiftName"] - user_name = data_json["User"]["Nickname"] + username = data_json["User"]["Nickname"] # 礼物数量 num = data_json["GiftCount"] # 礼物重复数量 @@ -1478,12 +1478,12 @@ def on_message(ws, message): # 总金额 combo_total_coin = repeat_count * discount_price - logging.info(f'[🎁直播间礼物消息] 用户:{user_name} 赠送 {num} 个 {gift_name},单价 {discount_price}抖币,总计 {combo_total_coin}抖币') + logging.info(f'[🎁直播间礼物消息] 用户:{username} 赠送 {num} 个 {gift_name},单价 {discount_price}抖币,总计 {combo_total_coin}抖币') data = { "platform": platform, "gift_name": gift_name, - "username": user_name, + "username": username, "num": num, "unit_price": discount_price / 10, "total_price": combo_total_coin / 10 @@ -1803,19 +1803,19 @@ async def on_disconnect(event: DisconnectEvent): @client.on("join") async def on_join(event: JoinEvent): - user_name = event.user.nickname + username = event.user.nickname unique_id = event.user.unique_id - logging.info(f'[🚹🚺直播间成员加入消息] 欢迎 {user_name} 进入直播间') + logging.info(f'[🚹🚺直播间成员加入消息] 欢迎 {username} 进入直播间') data = { "platform": platform, - "username": user_name, + "username": username, "content": "进入直播间" } # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) my_handle.process_data(data, "entrance") @@ -1825,14 +1825,14 @@ async def on_comment(event: CommentEvent): # 闲时计数清零 global_idle_time = 0 - user_name = event.user.nickname + username = event.user.nickname content = event.comment - logging.info(f'[📧直播间弹幕消息] [{user_name}]:{content}') + logging.info(f'[📧直播间弹幕消息] [{username}]:{content}') data = { "platform": platform, - "username": user_name, + "username": username, "content": content } @@ -1861,7 +1861,7 @@ async def on_gift(event: GiftEvent): repeat_count = 1 gift_name = event.gift.info.name - user_name = event.user.nickname + username = event.user.nickname # 礼物数量 num = 1 @@ -1889,12 +1889,12 @@ async def on_gift(event: GiftEvent): # 总金额 combo_total_coin = repeat_count * discount_price - logging.info(f'[🎁直播间礼物消息] 用户:{user_name} 赠送 {num} 个 {gift_name},单价 {discount_price}抖币,总计 {combo_total_coin}抖币') + logging.info(f'[🎁直播间礼物消息] 用户:{username} 赠送 {num} 个 {gift_name},单价 {discount_price}抖币,总计 {combo_total_coin}抖币') data = { "platform": platform, "gift_name": gift_name, - "username": user_name, + "username": username, "num": num, "unit_price": discount_price / 10, "total_price": combo_total_coin / 10 @@ -1904,13 +1904,13 @@ async def on_gift(event: GiftEvent): @client.on("follow") async def on_follow(event: FollowEvent): - user_name = event.user.nickname + username = event.user.nickname - logging.info(f'[➕直播间关注消息] 感谢 {user_name} 的关注') + logging.info(f'[➕直播间关注消息] 感谢 {username} 的关注') data = { "platform": platform, - "username": user_name + "username": username } my_handle.process_data(data, "follow") @@ -1992,15 +1992,15 @@ async def on_follow(event: FollowEvent): match = re.match(regex, resp) - user_name = match.group(1) + username = match.group(1) content = match.group(2) content = content.rstrip() - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": platform, - "username": user_name, + "username": username, "content": content } @@ -2075,29 +2075,29 @@ def wxlive(): global_idle_time = 0 content = data['events'][0]['content'] # 获取弹幕内容 - user_name = data['events'][0]['nickname'] # 获取发送弹幕的用户昵称 + username = data['events'][0]['nickname'] # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": platform, - "username": user_name, + "username": username, "content": content } my_handle.process_data(data, "comment") # 入场数据 elif data['events'][0]['decoded_type'] == "enter": - user_name = data['events'][0]['nickname'] + username = data['events'][0]['nickname'] - logging.info(f"用户:{user_name} 进入直播间") + logging.info(f"用户:{username} 进入直播间") # 添加用户名到最新的用户名列表 - add_username_to_last_username_list(user_name) + add_username_to_last_username_list(username) data = { "platform": platform, - "username": user_name, + "username": username, "content": "进入直播间" } @@ -2162,13 +2162,13 @@ def send(): # logging.info(chat) content = chat_raw # 获取弹幕内容 - user_name = c.author.name # 获取发送弹幕的用户昵称 + username = c.author.name # 获取发送弹幕的用户昵称 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") data = { "platform": platform, - "username": user_name, + "username": username, "content": content } diff --git a/tests/test_xingchen/api.py b/tests/test_xingchen/api.py index ee457150..ecac9d47 100644 --- a/tests/test_xingchen/api.py +++ b/tests/test_xingchen/api.py @@ -43,7 +43,7 @@ def build_chat_param(self, prompt): messages_list.append( Message( - name=self.config_data[self.config_data["type"]]["user_name"], + name=self.config_data[self.config_data["type"]]["username"], role='user', content=prompt ) @@ -59,7 +59,7 @@ def build_chat_param(self, prompt): else: messages_list = [ Message( - name=self.config_data[self.config_data["type"]]["user_name"], + name=self.config_data[self.config_data["type"]]["username"], role='user', content=prompt ) @@ -79,14 +79,14 @@ def build_chat_param(self, prompt): ), messages=[ Message( - name=self.config_data[self.config_data["type"]]["user_name"], + name=self.config_data[self.config_data["type"]]["username"], role='user', content=prompt ), ], user_profile=UserProfile( user_id=self.config_data[self.config_data["type"]]["user_id"], - user_name=self.config_data[self.config_data["type"]]["user_name"] + username=self.config_data[self.config_data["type"]]["username"] ) ) @@ -159,7 +159,7 @@ def get_resp(self, prompt): self.history.pop(0) else: # self.history.pop() - self.history.append({"role": "user", "name": self.config_data[self.config_data["type"]]["user_name"], "content": prompt}) + self.history.append({"role": "user", "name": self.config_data[self.config_data["type"]]["username"], "content": prompt}) self.history.append({"role": "assistant", "name": self.config_data[self.config_data["type"]]["role_name"], "content": resp_content}) break @@ -189,7 +189,7 @@ def get_resp(self, prompt): "temperature": 0.92, "seed": 1683806810, "user_id": "1", - "user_name": "主人", + "username": "主人", "role_name": "伊卡洛斯" }, "history_enable": True, diff --git a/tests/test_zhipu/api.py b/tests/test_zhipu/api.py index 9ffbab37..d23f753a 100644 --- a/tests/test_zhipu/api.py +++ b/tests/test_zhipu/api.py @@ -29,7 +29,7 @@ def __init__(self, data): self.user_info = data["user_info"] self.bot_info = data["bot_info"] self.bot_name = data["bot_name"] - self.user_name = data["user_name"] + self.username = data["username"] # 非SDK self.base_url = "https://open.bigmodel.cn" @@ -89,7 +89,7 @@ def invoke_characterglm(self, prompt): "user_info": self.user_info, "bot_info": self.bot_info, "bot_name": self.bot_name, - "user_name": self.user_name + "username": self.username }, top_p=self.top_p, temperature=self.temperature, @@ -282,7 +282,7 @@ def is_odd(number): "user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。", "bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。", "bot_name": "苏梦远", - "user_name": "陆星辰" + "username": "陆星辰" } zhipu = Zhipu(data) diff --git a/utils/audio.py b/utils/audio.py index 5355220f..26089565 100644 --- a/utils/audio.py +++ b/utils/audio.py @@ -426,13 +426,13 @@ def audio_synthesis(self, message): data_json["insert_index"] = message["insert_index"] # 回复时是否念用户名字 - if self.config.get("read_user_name", "enable"): + if self.config.get("read_username", "enable"): # 由于线程是独立的,所以回复音频的合成会慢于本地音频直接播放,所以以倒述的形式回复 tmp_message = deepcopy(message) tmp_message['type'] = "reply" - tmp_message['content'] = random.choice(self.config.get("read_user_name", "reply_after")) + tmp_message['content'] = random.choice(self.config.get("read_username", "reply_after")) if "{username}" in tmp_message['content']: - tmp_message['content'] = tmp_message['content'].format(username=message['user_name'][:self.config.get("read_user_name", "username_max_len")]) + tmp_message['content'] = tmp_message['content'].format(username=message['username'][:self.config.get("read_username", "username_max_len")]) logging.info(f"tmp_message={tmp_message}") @@ -468,14 +468,14 @@ def audio_synthesis(self, message): # 只有信息类型是 弹幕,才会进行念用户名 elif message['type'] == "comment": # 回复时是否念用户名字 - if self.config.get("read_user_name", "enable"): + if self.config.get("read_username", "enable"): tmp_message = deepcopy(message) tmp_message['type'] = "reply" - tmp_message['content'] = random.choice(self.config.get("read_user_name", "reply_before")) + tmp_message['content'] = random.choice(self.config.get("read_username", "reply_before")) if "{username}" in tmp_message['content']: # 将用户名中特殊字符替换为空 - message['user_name'] = self.common.replace_special_characters(message['user_name'], "!!@#¥$%^&*_-+/——=()()【】}|{:;<>~`\\") - tmp_message['content'] = tmp_message['content'].format(username=message['user_name'][:self.config.get("read_user_name", "username_max_len")]) + message['username'] = self.common.replace_special_characters(message['username'], "!!@#¥$%^&*_-+/——=()()【】}|{:;<>~`\\") + tmp_message['content'] = tmp_message['content'].format(username=message['username'][:self.config.get("read_username", "username_max_len")]) Audio.message_queue.put(tmp_message) # 闲时任务 elif message['type'] == "idle_time_task": @@ -607,7 +607,7 @@ async def voice_change_and_put_to_queue(message, voice_tmp_path): data_json["insert_index"] = message["insert_index"] # 区分消息类型是否是 回复xxx 并且 关闭了变声 - if message["type"] == "reply" and False == self.config.get("read_user_name", "voice_change"): + if message["type"] == "reply" and False == self.config.get("read_username", "voice_change"): # 是否开启了音频播放,如果没开,则不会传文件路径给播放队列 if self.config.get("play_audio", "enable"): Audio.voice_tmp_path_queue.put(data_json) @@ -1773,7 +1773,7 @@ def abnormal_alarm_handle(self, type): "tts_type": self.config.get("audio_synthesis_type"), "data": self.config.get(self.config.get("audio_synthesis_type")), "config": self.config.get("filter"), - "user_name": "系统", + "username": "系统", "content": os.path.join(self.config.get("abnormal_alarm", type, "local_audio_path"), self.common.extract_filename(audio_path, True)) } diff --git a/utils/common.py b/utils/common.py index 9a064d35..67cc95ce 100644 --- a/utils/common.py +++ b/utils/common.py @@ -929,7 +929,7 @@ def send_to_web_captions_printer(self, api_ip_port, data): bool: True/False """ - # user_name = data["username"] + # username = data["username"] content = data["content"] # 记录数据库): diff --git a/utils/gpt_model/chatgpt.py b/utils/gpt_model/chatgpt.py index 179f4045..0955aff8 100644 --- a/utils/gpt_model/chatgpt.py +++ b/utils/gpt_model/chatgpt.py @@ -163,9 +163,9 @@ def chat_with_gpt(self, messages): # 调用gpt接口,获取返回内容 - def get_gpt_resp(self, user_name, prompt): + def get_gpt_resp(self, username, prompt): # 获取当前用户的会话 - session = self.get_chat_session(str(user_name)) + session = self.get_chat_session(str(username)) # 调用 ChatGPT 接口生成回复消息 resp_content = self.chat(prompt, session) diff --git a/utils/gpt_model/qwen.py b/utils/gpt_model/qwen.py index 7a3a8a42..f78d25b3 100644 --- a/utils/gpt_model/qwen.py +++ b/utils/gpt_model/qwen.py @@ -60,7 +60,7 @@ def __init__(self, data): self.history = [] - def construct_query(self, user_name, prompt: str, **kwargs) -> Dict: + def construct_query(self, username, prompt: str, **kwargs) -> Dict: """构造请求体 """ @@ -99,9 +99,9 @@ def construct_observation(self, prompt: str, **kwargs) -> Dict: # 调用chatglm接口,获取返回内容 - def get_resp(self, user_name, prompt): + def get_resp(self, username, prompt): # construct query - query = self.construct_query(user_name, prompt) + query = self.construct_query(username, prompt) try: response = requests.post(url=self.api_ip_port, json=query) diff --git a/utils/gpt_model/tongyixingchen.py b/utils/gpt_model/tongyixingchen.py index 0b2b7b8a..c0551369 100644 --- a/utils/gpt_model/tongyixingchen.py +++ b/utils/gpt_model/tongyixingchen.py @@ -43,7 +43,7 @@ def build_chat_param(self, prompt): messages_list.append( Message( - name=self.config_data[self.config_data["type"]]["user_name"], + name=self.config_data[self.config_data["type"]]["username"], role='user', content=prompt ) @@ -59,7 +59,7 @@ def build_chat_param(self, prompt): else: messages_list = [ Message( - name=self.config_data[self.config_data["type"]]["user_name"], + name=self.config_data[self.config_data["type"]]["username"], role='user', content=prompt ) @@ -79,14 +79,14 @@ def build_chat_param(self, prompt): ), messages=[ Message( - name=self.config_data[self.config_data["type"]]["user_name"], + name=self.config_data[self.config_data["type"]]["username"], role='user', content=prompt ), ], user_profile=UserProfile( user_id=self.config_data[self.config_data["type"]]["user_id"], - user_name=self.config_data[self.config_data["type"]]["user_name"] + username=self.config_data[self.config_data["type"]]["username"] ) ) @@ -159,7 +159,7 @@ def get_resp(self, prompt): self.history.pop(0) else: # self.history.pop() - self.history.append({"role": "user", "name": self.config_data[self.config_data["type"]]["user_name"], "content": prompt}) + self.history.append({"role": "user", "name": self.config_data[self.config_data["type"]]["username"], "content": prompt}) self.history.append({"role": "assistant", "name": self.config_data[self.config_data["type"]]["role_name"], "content": resp_content}) break @@ -189,7 +189,7 @@ def get_resp(self, prompt): "temperature": 0.92, "seed": 1683806810, "user_id": "1", - "user_name": "主人", + "username": "主人", "role_name": "伊卡洛斯" }, "history_enable": True, diff --git a/utils/gpt_model/zhipu.py b/utils/gpt_model/zhipu.py index 15bb7495..503b9e07 100644 --- a/utils/gpt_model/zhipu.py +++ b/utils/gpt_model/zhipu.py @@ -30,7 +30,7 @@ def __init__(self, data): self.user_info = data["user_info"] self.bot_info = data["bot_info"] self.bot_name = data["bot_name"] - self.user_name = data["user_name"] + self.username = data["username"] self.remove_useless = data["remove_useless"] @@ -91,7 +91,7 @@ def invoke_characterglm(self, prompt): "user_info": self.user_info, "bot_info": self.bot_info, "bot_name": self.bot_name, - "user_name": self.user_name + "username": self.username }, top_p=self.top_p, temperature=self.temperature, @@ -331,7 +331,7 @@ def is_odd(number): "user_info": "我是陆星辰,是一个男性,是一位知名导演,也是苏梦远的合作导演。我擅长拍摄音乐题材的电影。苏梦远对我的态度是尊敬的,并视我为良师益友。", "bot_info": "苏梦远,本名苏远心,是一位当红的国内女歌手及演员。在参加选秀节目后,凭借独特的嗓音及出众的舞台魅力迅速成名,进入娱乐圈。她外表美丽动人,但真正的魅力在于她的才华和勤奋。苏梦远是音乐学院毕业的优秀生,善于创作,拥有多首热门原创歌曲。除了音乐方面的成就,她还热衷于慈善事业,积极参加公益活动,用实际行动传递正能量。在工作中,她对待工作非常敬业,拍戏时总是全身心投入角色,赢得了业内人士的赞誉和粉丝的喜爱。虽然在娱乐圈,但她始终保持低调、谦逊的态度,深得同行尊重。在表达时,苏梦远喜欢使用“我们”和“一起”,强调团队精神。", "bot_name": "苏梦远", - "user_name": "陆星辰", + "username": "陆星辰", "remove_useless": True } diff --git a/utils/my_handle.py b/utils/my_handle.py index abdb96c0..614a30cf 100644 --- a/utils/my_handle.py +++ b/utils/my_handle.py @@ -426,7 +426,7 @@ def audio_synthesis_handle(self, data_json): "tts_type": My_handle.config.get("assistant_anchor", "audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("assistant_anchor", "audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": My_handle.config.get("assistant_anchor", "username"), + "username": My_handle.config.get("assistant_anchor", "username"), "content": resp_content } @@ -443,7 +443,7 @@ def audio_synthesis_handle(self, data_json): # 2、匹配本地问答音频库 触发后不执行后面的其他功能 if My_handle.config.get("assistant_anchor", "local_qa", "audio", "enable") == True: # 输出当前用户发送的弹幕消息 - # logging.info(f"[{user_name}]: {content}") + # logging.info(f"[{username}]: {content}") # 获取本地问答音频库文件夹内所有的音频文件名 local_qa_audio_filename_list = My_handle.audio.get_dir_audios_filename(My_handle.config.get("assistant_anchor", "local_qa", "audio", "file_path"), type=1) local_qa_audio_list = My_handle.audio.get_dir_audios_filename(My_handle.config.get("assistant_anchor", "local_qa", "audio", "file_path"), type=0) @@ -476,7 +476,7 @@ def audio_synthesis_handle(self, data_json): "tts_type": My_handle.config.get("assistant_anchor", "audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("assistant_anchor", "audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": My_handle.config.get("assistant_anchor", "username"), + "username": My_handle.config.get("assistant_anchor", "username"), "content": data_json["content"], "file_path": resp_content } @@ -583,14 +583,14 @@ def local_qa_handle(self, data): Returns: bool: 是否触发并处理 """ - user_name = data["username"] + username = data["username"] content = data["content"] # 合并字符串末尾连续的* 主要针对获取不到用户名的情况 - user_name = My_handle.common.merge_consecutive_asterisks(user_name) + username = My_handle.common.merge_consecutive_asterisks(username) # 最大保留的用户名长度 - user_name = user_name[:self.config.get("local_qa", "text", "username_max_len")] + username = username[:self.config.get("local_qa", "text", "username_max_len")] # 1、匹配本地问答库 触发后不执行后面的其他功能 if My_handle.config.get("local_qa", "text", "enable") == True: @@ -601,12 +601,12 @@ def local_qa_handle(self, data): tmp = self.find_similar_answer(content, My_handle.config.get("local_qa", "text", "file_path"), My_handle.config.get("local_qa", "text", "similarity")) if tmp != None: - logging.info(f"触发本地问答库-文本 [{user_name}]: {content}") + logging.info(f"触发本地问答库-文本 [{username}]: {content}") # 将问答库中设定的参数替换为指定内容,开发者可以自定义替换内容 # 假设有多个未知变量,用户可以在此处定义动态变量 variables = { 'cur_time': My_handle.common.get_bj_time(5), - 'username': user_name + 'username': username } # 使用字典进行字符串替换 @@ -630,18 +630,18 @@ def local_qa_handle(self, data): # 根据 弹幕日志类型进行各类日志写入 if My_handle.config.get("comment_log_type") == "问答": - f.write(f"[{user_name} 提问]:{content}\n[AI回复{user_name}]:{resp_content_joined}\n" + tmp_content) + f.write(f"[{username} 提问]:{content}\n[AI回复{username}]:{resp_content_joined}\n" + tmp_content) elif My_handle.config.get("comment_log_type") == "问题": - f.write(f"[{user_name} 提问]:{content}\n" + tmp_content) + f.write(f"[{username} 提问]:{content}\n" + tmp_content) elif My_handle.config.get("comment_log_type") == "回答": - f.write(f"[AI回复{user_name}]:{resp_content_joined}\n" + tmp_content) + f.write(f"[AI回复{username}]:{resp_content_joined}\n" + tmp_content) message = { "type": "comment", "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -653,7 +653,7 @@ def local_qa_handle(self, data): # 2、匹配本地问答音频库 触发后不执行后面的其他功能 if My_handle.config.get("local_qa")["audio"]["enable"] == True: # 输出当前用户发送的弹幕消息 - # logging.info(f"[{user_name}]: {content}") + # logging.info(f"[{username}]: {content}") # 获取本地问答音频库文件夹内所有的音频文件名 local_qa_audio_filename_list = My_handle.audio.get_dir_audios_filename(My_handle.config.get("local_qa", "audio", "file_path"), type=1) local_qa_audio_list = My_handle.audio.get_dir_audios_filename(My_handle.config.get("local_qa", "audio", "file_path"), type=0) @@ -665,7 +665,7 @@ def local_qa_handle(self, data): # 找到了匹配的结果 if local_qv_audio_filename is not None: - logging.info(f"触发本地问答库-语音 [{user_name}]: {content}") + logging.info(f"触发本地问答库-语音 [{username}]: {content}") # 把结果从原文件名列表中在查找一遍,补上拓展名 local_qv_audio_filename = My_handle.common.find_best_match(local_qv_audio_filename, local_qa_audio_list, 0) @@ -682,7 +682,7 @@ def local_qa_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": content, "file_path": resp_content } @@ -705,11 +705,11 @@ def choose_song_handle(self, data): Returns: bool: 是否触发并处理 """ - user_name = data["username"] + username = data["username"] content = data["content"] # 合并字符串末尾连续的* 主要针对获取不到用户名的情况 - user_name = My_handle.common.merge_consecutive_asterisks(user_name) + username = My_handle.common.merge_consecutive_asterisks(username) if My_handle.config.get("choose_song")["enable"] == True: start_cmd = My_handle.common.starts_with_any(content, My_handle.config.get("choose_song", "start_cmd")) @@ -730,7 +730,7 @@ def choose_song_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -740,7 +740,7 @@ def choose_song_handle(self, data): return True # 判断点歌命令是否正确 elif start_cmd: - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") # 获取本地音频文件夹内所有的音频文件名(不含拓展名) choose_song_song_lists = My_handle.audio.get_dir_audios_filename(My_handle.config.get("choose_song", "song_path"), 1) @@ -755,7 +755,7 @@ def choose_song_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": f'点歌命令错误,命令为 {My_handle.config.get("choose_song", "start_cmd")}+歌名' } @@ -769,14 +769,14 @@ def choose_song_handle(self, data): # resp_content = f"抱歉,我还没学会唱{content}" # 根据配置的 匹配失败回复文案来进行合成 resp_content = My_handle.config.get("choose_song", "match_fail_copy").format(content=content) - logging.info(f"[AI回复{user_name}]:{resp_content}") + logging.info(f"[AI回复{username}]:{resp_content}") message = { "type": "comment", "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -801,7 +801,7 @@ def choose_song_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -840,11 +840,11 @@ def sd_handle(self, data): Returns: bool: 是否触发并处理 """ - user_name = data["username"] + username = data["username"] content = data["content"] # 合并字符串末尾连续的* 主要针对获取不到用户名的情况 - user_name = My_handle.common.merge_consecutive_asterisks(user_name) + username = My_handle.common.merge_consecutive_asterisks(username) if content.startswith(My_handle.config.get("sd", "trigger")): # 违禁检测 @@ -857,7 +857,7 @@ def sd_handle(self, data): return True else: # 输出当前用户发送的弹幕消息 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") # 删除文本中的命令前缀 content = content[len(My_handle.config.get("sd", "trigger")):] @@ -876,12 +876,12 @@ def sd_handle(self, data): content + My_handle.config.get("after_prompt") data_json = { - "user_name": user_name, + "username": username, "content": content } resp_content = self.llm_handle(chat_type, data_json) if resp_content is not None: - logging.info(f"[AI回复{user_name}]:{resp_content}") + logging.info(f"[AI回复{username}]:{resp_content}") else: resp_content = "" logging.warning(f"警告:{chat_type}无返回") @@ -1045,7 +1045,7 @@ def reread_handle(self, data, filter=False): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": username, + "username": username, "content": content } @@ -1125,12 +1125,12 @@ def llm_handle(self, chat_type, data): # 新增LLM需要在这里追加 chat_model_methods = { - "chatgpt": lambda: self.chatgpt.get_gpt_resp(data["user_name"], data["content"]), + "chatgpt": lambda: self.chatgpt.get_gpt_resp(data["username"], data["content"]), "claude": lambda: self.claude.get_resp(data["content"]), "claude2": lambda: self.claude2.get_resp(data["content"]), "chatterbot": lambda: self.bot.get_response(data["content"]).text, "chatglm": lambda: self.chatglm.get_resp(data["content"]), - "qwen": lambda: self.qwen.get_resp(data["user_name"], data["content"]), + "qwen": lambda: self.qwen.get_resp(data["username"], data["content"]), "chat_with_file": lambda: self.chat_with_file.get_model_resp(data["content"]), "text_generation_webui": lambda: self.text_generation_webui.get_resp(data["content"]), "sparkdesk": lambda: self.sparkdesk.get_resp(data["content"]), @@ -1172,7 +1172,7 @@ def integral_handle(self, type, data): Returns: bool: 是否正常触发了积分事件,是True 否False """ - user_name = data["username"] + username = data["username"] if My_handle.config.get("integral", "enable"): # 根据消息类型进行对应处理 @@ -1187,7 +1187,7 @@ def integral_handle(self, type, data): common_sql = ''' SELECT * FROM integral WHERE username =? ''' - integral_data = self.db.fetch_all(common_sql, (user_name,)) + integral_data = self.db.fetch_all(common_sql, (username,)) logging.debug(f"integral_data={integral_data}") @@ -1205,7 +1205,7 @@ def get_copywriting_and_audio_synthesis(sign_num): logging.debug(f"resp_content={resp_content}") data_json = { - "user_name": data["username"], + "username": data["username"], "get_integral": int(My_handle.config.get("integral", "sign", "get_integral")), "sign_num": sign_num + 1 } @@ -1218,7 +1218,7 @@ def get_copywriting_and_audio_synthesis(sign_num): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -1232,8 +1232,8 @@ def get_copywriting_and_audio_synthesis(sign_num): ''' self.db.execute(insert_data_sql, ( data["platform"], - user_name, - user_name, + username, + username, My_handle.config.get("integral", "sign", "get_integral"), 1, 1, @@ -1242,7 +1242,7 @@ def get_copywriting_and_audio_synthesis(sign_num): datetime.now()) ) - logging.info(f"integral积分表 新增 用户:{user_name}") + logging.info(f"integral积分表 新增 用户:{username}") get_copywriting_and_audio_synthesis(0) @@ -1262,8 +1262,8 @@ def get_copywriting_and_audio_synthesis(sign_num): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, - "content": f"{user_name}您今天已经签到过了,不能重复打卡哦~" + "username": username, + "content": f"{username}您今天已经签到过了,不能重复打卡哦~" } @@ -1282,11 +1282,11 @@ def get_copywriting_and_audio_synthesis(sign_num): integral_data[5] + 1, datetime.now(), datetime.now(), - user_name + username ) ) - logging.info(f"integral积分表 更新 用户:{user_name}") + logging.info(f"integral积分表 更新 用户:{username}") get_copywriting_and_audio_synthesis(integral_data[5] + 1) @@ -1298,7 +1298,7 @@ def get_copywriting_and_audio_synthesis(sign_num): common_sql = ''' SELECT * FROM integral WHERE username =? ''' - integral_data = self.db.fetch_all(common_sql, (user_name,)) + integral_data = self.db.fetch_all(common_sql, (username,)) logging.debug(f"integral_data={integral_data}") @@ -1318,7 +1318,7 @@ def get_copywriting_and_audio_synthesis(total_price): logging.debug(f"resp_content={resp_content}") data_json = { - "user_name": data["username"], + "username": data["username"], "gift_name": data["gift_name"], "get_integral": get_integral } @@ -1331,7 +1331,7 @@ def get_copywriting_and_audio_synthesis(total_price): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -1345,8 +1345,8 @@ def get_copywriting_and_audio_synthesis(total_price): ''' self.db.execute(insert_data_sql, ( data["platform"], - user_name, - user_name, + username, + username, get_integral, 1, 1, @@ -1355,7 +1355,7 @@ def get_copywriting_and_audio_synthesis(total_price): datetime.now()) ) - logging.info(f"integral积分表 新增 用户:{user_name}") + logging.info(f"integral积分表 新增 用户:{username}") get_copywriting_and_audio_synthesis(data["total_price"]) @@ -1373,11 +1373,11 @@ def get_copywriting_and_audio_synthesis(total_price): integral_data[3] + get_integral, integral_data[7] + data["total_price"], datetime.now(), - user_name + username ) ) - logging.info(f"integral积分表 更新 用户:{user_name}") + logging.info(f"integral积分表 更新 用户:{username}") get_copywriting_and_audio_synthesis(data["total_price"]) @@ -1389,7 +1389,7 @@ def get_copywriting_and_audio_synthesis(total_price): common_sql = ''' SELECT * FROM integral WHERE username =? ''' - integral_data = self.db.fetch_all(common_sql, (user_name,)) + integral_data = self.db.fetch_all(common_sql, (username,)) logging.debug(f"integral_data={integral_data}") @@ -1407,7 +1407,7 @@ def get_copywriting_and_audio_synthesis(view_num): logging.debug(f"resp_content={resp_content}") data_json = { - "user_name": data["username"], + "username": data["username"], "get_integral": int(My_handle.config.get("integral", "entrance", "get_integral")), "entrance_num": view_num + 1 } @@ -1420,7 +1420,7 @@ def get_copywriting_and_audio_synthesis(view_num): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -1434,8 +1434,8 @@ def get_copywriting_and_audio_synthesis(view_num): ''' self.db.execute(insert_data_sql, ( data["platform"], - user_name, - user_name, + username, + username, My_handle.config.get("integral", "entrance", "get_integral"), 1, 0, @@ -1444,7 +1444,7 @@ def get_copywriting_and_audio_synthesis(view_num): datetime.now()) ) - logging.info(f"integral积分表 新增 用户:{user_name}") + logging.info(f"integral积分表 新增 用户:{username}") get_copywriting_and_audio_synthesis(1) @@ -1470,11 +1470,11 @@ def get_copywriting_and_audio_synthesis(view_num): integral_data[3] + My_handle.config.get("integral", "entrance", "get_integral"), integral_data[4] + 1, datetime.now(), - user_name + username ) ) - logging.info(f"integral积分表 更新 用户:{user_name}") + logging.info(f"integral积分表 更新 用户:{username}") get_copywriting_and_audio_synthesis(integral_data[4] + 1) @@ -1490,7 +1490,7 @@ def get_copywriting_and_audio_synthesis(view_num): common_sql = ''' SELECT * FROM integral WHERE username =? ''' - integral_data = self.db.fetch_all(common_sql, (user_name,)) + integral_data = self.db.fetch_all(common_sql, (username,)) logging.debug(f"integral_data={integral_data}") @@ -1502,7 +1502,7 @@ def get_copywriting_and_audio_synthesis(total_integral): logging.debug(f"resp_content={resp_content}") data_json = { - "user_name": data["username"], + "username": data["username"], "integral": total_integral } @@ -1518,7 +1518,7 @@ def get_copywriting_and_audio_synthesis(total_integral): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -1526,7 +1526,7 @@ def get_copywriting_and_audio_synthesis(total_integral): self.audio_synthesis_handle(message) if integral_data == []: - logging.info(f"integral积分表 查询不到 用户:{user_name}") + logging.info(f"integral积分表 查询不到 用户:{username}") get_copywriting_and_audio_synthesis(0) @@ -1538,7 +1538,7 @@ def get_copywriting_and_audio_synthesis(total_integral): # 获取日期时间字符串字段,此处是个坑点,一旦数据库结构发生改变或者select语句改了,就会关联影响!!! date_string = integral_data[3] - logging.info(f"integral积分表 用户:{user_name},总积分:{date_string}") + logging.info(f"integral积分表 用户:{username},总积分:{date_string}") get_copywriting_and_audio_synthesis(int(date_string)) @@ -1566,7 +1566,7 @@ def get_a_copywriting_and_audio_synthesis(key_mapping_config, data): # 假设有多个未知变量,用户可以在此处定义动态变量 variables = { - 'user_name': data["username"], + 'username': data["username"], 'gift_name': data["gift_name"] if "gift_name" in data else "" } @@ -1580,7 +1580,7 @@ def get_a_copywriting_and_audio_synthesis(key_mapping_config, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": data["username"], + "username": data["username"], "content": tmp } @@ -1721,23 +1721,23 @@ def comment_handle(self, data): """ try: - user_name = data["username"] + username = data["username"] content = data["content"] # 输出当前用户发送的弹幕消息 - logging.debug(f"[{user_name}]: {content}") + logging.debug(f"[{username}]: {content}") # 记录数据库 if My_handle.config.get("database", "comment_enable"): insert_data_sql = ''' INSERT INTO danmu (username, content, ts) VALUES (?, ?, ?) ''' - self.db.execute(insert_data_sql, (user_name, content, datetime.now())) + self.db.execute(insert_data_sql, (username, content, datetime.now())) # 合并字符串末尾连续的* 主要针对获取不到用户名的情况 - user_name = My_handle.common.merge_consecutive_asterisks(user_name) + username = My_handle.common.merge_consecutive_asterisks(username) # 0、积分机制运转 if self.integral_handle("comment", data): @@ -1749,8 +1749,8 @@ def comment_handle(self, data): 用户名也得过滤一下,防止炸弹人 """ # 用户名以及弹幕违禁判断 - user_name = self.prohibitions_handle(user_name) - if user_name is None: + username = self.prohibitions_handle(username) + if username is None: return content = self.prohibitions_handle(content) @@ -1764,7 +1764,7 @@ def comment_handle(self, data): # 判断字符串是否全为标点符号,是的话就过滤 if My_handle.common.is_punctuation_string(content): - logging.debug(f"用户:{user_name}],发送纯符号的弹幕,已过滤") + logging.debug(f"用户:{username}],发送纯符号的弹幕,已过滤") return # 判断按键映射触发类型 @@ -1784,18 +1784,18 @@ def comment_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": content } # 判断是否需要念用户名 if My_handle.config.get("read_comment", "read_username_enable"): # 将用户名中特殊字符替换为空 - message['user_name'] = self.common.replace_special_characters(message['user_name'], "!!@#¥$%^&*_-+/——=()()【】}|{:;<>~`\\") - message['user_name'] = message['user_name'][:self.config.get("read_comment", "username_max_len")] + message['username'] = self.common.replace_special_characters(message['username'], "!!@#¥$%^&*_-+/——=()()【】}|{:;<>~`\\") + message['username'] = message['username'][:self.config.get("read_comment", "username_max_len")] tmp_content = random.choice(self.config.get("read_comment", "read_username_copywriting")) if "{username}" in tmp_content: - message['content'] = tmp_content.format(username=message['user_name']) + message['content'] + message['content'] = tmp_content.format(username=message['username']) + message['content'] self.audio_synthesis_handle(message) @@ -1823,7 +1823,7 @@ def comment_handle(self, data): # logging.info(f"翻译后:{content}") data_json = { - "user_name": user_name, + "username": username, "content": content } @@ -1839,7 +1839,7 @@ def comment_handle(self, data): if self.config.get("comment_template", "enable"): # 假设有多个未知变量,用户可以在此处定义动态变量 variables = { - 'username': user_name, + 'username': username, 'comment': content, 'cur_time': My_handle.common.get_bj_time(5), } @@ -1855,7 +1855,7 @@ def comment_handle(self, data): resp_content = self.llm_handle(chat_type, data_json) if resp_content is not None: - logging.info(f"[AI回复{user_name}]:{resp_content}") + logging.info(f"[AI回复{username}]:{resp_content}") else: resp_content = "" logging.warning(f"警告:{chat_type}无返回") @@ -1908,11 +1908,11 @@ def comment_handle(self, data): # 根据 弹幕日志类型进行各类日志写入 if My_handle.config.get("comment_log_type") == "问答": - f.write(f"[{user_name} 提问]:\n{content}\n[AI回复{user_name}]:{resp_content_joined}\n" + tmp_content) + f.write(f"[{username} 提问]:\n{content}\n[AI回复{username}]:{resp_content_joined}\n" + tmp_content) elif My_handle.config.get("comment_log_type") == "问题": - f.write(f"[{user_name} 提问]:\n{content}\n" + tmp_content) + f.write(f"[{username} 提问]:\n{content}\n" + tmp_content) elif My_handle.config.get("comment_log_type") == "回答": - f.write(f"[AI回复{user_name}]:\n{resp_content_joined}\n" + tmp_content) + f.write(f"[AI回复{username}]:\n{resp_content_joined}\n" + tmp_content) # 判断按键映射触发类型 if My_handle.config.get("key_mapping", "type") == "回复" or My_handle.config.get("key_mapping", "type") == "弹幕+回复": @@ -1928,7 +1928,7 @@ def comment_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content } @@ -1998,7 +1998,7 @@ def gift_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": data["username"], + "username": data["username"], "content": resp_content, "gift_info": data } @@ -2052,7 +2052,7 @@ def entrance_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": data['username'], + "username": data['username'], "content": resp_content } @@ -2096,7 +2096,7 @@ def follow_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": data['username'], + "username": data['username'], "content": resp_content } @@ -2115,7 +2115,7 @@ def schedule_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": data['username'], + "username": data['username'], "content": content } @@ -2129,7 +2129,7 @@ def idle_time_task_handle(self, data): try: type = data["type"] content = data["content"] - user_name = data["username"] + username = data["username"] if type == "comment": # 记录数据库 @@ -2137,10 +2137,10 @@ def idle_time_task_handle(self, data): insert_data_sql = ''' INSERT INTO danmu (username, content, ts) VALUES (?, ?, ?) ''' - self.db.execute(insert_data_sql, (user_name, content, datetime.now())) + self.db.execute(insert_data_sql, (username, content, datetime.now())) # 输出当前用户发送的弹幕消息 - logging.info(f"[{user_name}]: {content}") + logging.info(f"[{username}]: {content}") # 弹幕格式检查和特殊字符替换 content = self.comment_check_and_replace(content) @@ -2178,7 +2178,7 @@ def idle_time_task_handle(self, data): else: # 通用的data_json构造 data_json = { - "user_name": user_name, + "username": username, "content": My_handle.config.get("before_prompt") + content + My_handle.config.get("after_prompt") if chat_type != "reread" else content } @@ -2186,7 +2186,7 @@ def idle_time_task_handle(self, data): resp_content = self.llm_handle(chat_type, data_json) if chat_type != "game" else "" if resp_content: - logging.info(f"[AI回复{user_name}]:{resp_content}") + logging.info(f"[AI回复{username}]:{resp_content}") else: logging.warning(f"警告:{chat_type}无返回") resp_content = "" @@ -2216,11 +2216,11 @@ def idle_time_task_handle(self, data): # 根据 弹幕日志类型进行各类日志写入 if My_handle.config.get("comment_log_type") == "问答": - f.write(f"[{user_name} 提问]:\n{content}\n[AI回复{user_name}]:{resp_content_joined}\n" + tmp_content) + f.write(f"[{username} 提问]:\n{content}\n[AI回复{username}]:{resp_content_joined}\n" + tmp_content) elif My_handle.config.get("comment_log_type") == "问题": - f.write(f"[{user_name} 提问]:\n{content}\n" + tmp_content) + f.write(f"[{username} 提问]:\n{content}\n" + tmp_content) elif My_handle.config.get("comment_log_type") == "回答": - f.write(f"[AI回复{user_name}]:\n{resp_content_joined}\n" + tmp_content) + f.write(f"[AI回复{username}]:\n{resp_content_joined}\n" + tmp_content) # 判断按键映射触发类型 if My_handle.config.get("key_mapping", "type") == "回复" or My_handle.config.get("key_mapping", "type") == "弹幕+回复": @@ -2236,7 +2236,7 @@ def idle_time_task_handle(self, data): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": resp_content, "content_type": "comment" } @@ -2244,14 +2244,14 @@ def idle_time_task_handle(self, data): self.audio_synthesis_handle(message) elif type == "local_audio": - logging.info(f'[{user_name}]: {data["file_path"]}') + logging.info(f'[{username}]: {data["file_path"]}') message = { "type": "idle_time_task", "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": user_name, + "username": username, "content": content, "content_type": "local_audio", "file_path": os.path.abspath(data["file_path"]) @@ -2389,7 +2389,7 @@ def abnormal_alarm_handle(self, type): "tts_type": My_handle.config.get("audio_synthesis_type"), "data": My_handle.config.get(My_handle.config.get("audio_synthesis_type")), "config": My_handle.config.get("filter"), - "user_name": "系统", + "username": "系统", "content": os.path.join(My_handle.config.get("abnormal_alarm", type, "local_audio_path"), My_handle.common.extract_filename(audio_path, True)) } diff --git a/webui.py b/webui.py index d1b4a8af..3e91f717 100644 --- a/webui.py +++ b/webui.py @@ -765,12 +765,12 @@ def common_textarea_handle(content): config_data["read_comment"]["read_username_copywriting"] = common_textarea_handle(textarea_read_comment_read_username_copywriting.value) # 回复时念用户名 - if config.get("webui", "show_card", "common_config", "read_user_name"): - config_data["read_user_name"]["enable"] = switch_read_user_name_enable.value - config_data["read_user_name"]["username_max_len"] = int(input_read_user_name_username_max_len.value) - config_data["read_user_name"]["voice_change"] = switch_read_user_name_voice_change.value - config_data["read_user_name"]["reply_before"] = common_textarea_handle(textarea_read_user_name_reply_before.value) - config_data["read_user_name"]["reply_after"] = common_textarea_handle(textarea_read_user_name_reply_after.value) + if config.get("webui", "show_card", "common_config", "read_username"): + config_data["read_username"]["enable"] = switch_read_username_enable.value + config_data["read_username"]["username_max_len"] = int(input_read_username_username_max_len.value) + config_data["read_username"]["voice_change"] = switch_read_username_voice_change.value + config_data["read_username"]["reply_before"] = common_textarea_handle(textarea_read_username_reply_before.value) + config_data["read_username"]["reply_after"] = common_textarea_handle(textarea_read_username_reply_after.value) # 日志 if config.get("webui", "show_card", "common_config", "log"): @@ -1148,7 +1148,7 @@ def common_textarea_handle(content): config_data["zhipu"]["user_info"] = input_zhipu_user_info.value config_data["zhipu"]["bot_info"] = input_zhipu_bot_info.value config_data["zhipu"]["bot_name"] = input_zhipu_bot_name.value - config_data["zhipu"]["user_name"] = input_zhipu_user_name.value + config_data["zhipu"]["username"] = input_zhipu_username.value config_data["zhipu"]["remove_useless"] = switch_zhipu_remove_useless.value if config.get("webui", "show_card", "llm", "bard"): @@ -1186,7 +1186,7 @@ def common_textarea_handle(content): config_data["tongyixingchen"]["固定角色"]["temperature"] = round(float(input_tongyixingchen_GDJS_temperature.value), 2) config_data["tongyixingchen"]["固定角色"]["seed"] = int(input_tongyixingchen_GDJS_seed.value) config_data["tongyixingchen"]["固定角色"]["user_id"] = input_tongyixingchen_GDJS_user_id.value - config_data["tongyixingchen"]["固定角色"]["user_name"] = input_tongyixingchen_GDJS_user_name.value + config_data["tongyixingchen"]["固定角色"]["username"] = input_tongyixingchen_GDJS_username.value config_data["tongyixingchen"]["固定角色"]["role_name"] = input_tongyixingchen_GDJS_role_name.value # config_data["my_qianfan"]["model"] = select_my_qianfan_model.value @@ -1602,7 +1602,7 @@ def common_textarea_handle(content): config_data["webui"]["auto_run"] = switch_webui_auto_run.value config_data["webui"]["show_card"]["common_config"]["read_comment"] = switch_webui_show_card_common_config_read_comment.value - config_data["webui"]["show_card"]["common_config"]["read_user_name"] = switch_webui_show_card_common_config_read_user_name.value + config_data["webui"]["show_card"]["common_config"]["read_username"] = switch_webui_show_card_common_config_read_username.value config_data["webui"]["show_card"]["common_config"]["filter"] = switch_webui_show_card_common_config_filter.value config_data["webui"]["show_card"]["common_config"]["thanks"] = switch_webui_show_card_common_config_thanks.value config_data["webui"]["show_card"]["common_config"]["audio_random_speed"] = switch_webui_show_card_common_config_audio_random_speed.value @@ -1903,16 +1903,16 @@ def common_textarea_handle(content): switch_read_comment_voice_change = ui.switch('变声', value=config.get("read_comment", "voice_change")).style(switch_internal_css) with ui.grid(columns=2): textarea_read_comment_read_username_copywriting = ui.textarea(label='念用户名文案', placeholder='念用户名时使用的文案,可以自定义编辑多个(换行分隔),实际中会随机一个使用', value=textarea_data_change(config.get("read_comment", "read_username_copywriting"))).style("width:500px;") - if config.get("webui", "show_card", "common_config", "read_user_name"): + if config.get("webui", "show_card", "common_config", "read_username"): with ui.card().style(card_css): ui.label('回复时念用户名') with ui.grid(columns=3): - switch_read_user_name_enable = ui.switch('启用', value=config.get("read_user_name", "enable")).style(switch_internal_css) - input_read_user_name_username_max_len = ui.input(label='用户名最大长度', value=config.get("read_user_name", "username_max_len"), placeholder='需要保留的用户名的最大长度,超出部分将被丢弃').style("width:100px;") - switch_read_user_name_voice_change = ui.switch('启用变声', value=config.get("read_user_name", "voice_change")).style(switch_internal_css) + switch_read_username_enable = ui.switch('启用', value=config.get("read_username", "enable")).style(switch_internal_css) + input_read_username_username_max_len = ui.input(label='用户名最大长度', value=config.get("read_username", "username_max_len"), placeholder='需要保留的用户名的最大长度,超出部分将被丢弃').style("width:100px;") + switch_read_username_voice_change = ui.switch('启用变声', value=config.get("read_username", "voice_change")).style(switch_internal_css) with ui.grid(columns=2): - textarea_read_user_name_reply_before = ui.textarea(label='前置回复', placeholder='在正经回复前的念用户名的文案,目前是本地问答库-文本 触发时使用', value=textarea_data_change(config.get("read_user_name", "reply_before"))).style("width:500px;") - textarea_read_user_name_reply_after = ui.textarea(label='后置回复', placeholder='在正经回复后的念用户名的文案,目前是本地问答库-音频 触发时使用', value=textarea_data_change(config.get("read_user_name", "reply_after"))).style("width:500px;") + textarea_read_username_reply_before = ui.textarea(label='前置回复', placeholder='在正经回复前的念用户名的文案,目前是本地问答库-文本 触发时使用', value=textarea_data_change(config.get("read_username", "reply_before"))).style("width:500px;") + textarea_read_username_reply_after = ui.textarea(label='后置回复', placeholder='在正经回复后的念用户名的文案,目前是本地问答库-音频 触发时使用', value=textarea_data_change(config.get("read_username", "reply_after"))).style("width:500px;") if config.get("webui", "show_card", "common_config", "log"): with ui.card().style(card_css): ui.label('日志') @@ -2586,8 +2586,8 @@ def common_textarea_handle(content): input_zhipu_bot_info.style("width:400px") input_zhipu_bot_name = ui.input(label='角色名称', placeholder='角色名称,当使用characterglm时需要配置', value=config.get("zhipu", "bot_name")) input_zhipu_bot_name.style("width:200px") - input_zhipu_user_name = ui.input(label='用户名称', placeholder='用户名称,默认值为用户,当使用characterglm时需要配置', value=config.get("zhipu", "user_name")) - input_zhipu_user_name.style("width:200px") + input_zhipu_username = ui.input(label='用户名称', placeholder='用户名称,默认值为用户,当使用characterglm时需要配置', value=config.get("zhipu", "username")) + input_zhipu_username.style("width:200px") with ui.row(): switch_zhipu_remove_useless = ui.switch('删除无用字符', value=config.get("zhipu", "remove_useless")).style(switch_internal_css) @@ -2647,7 +2647,7 @@ def common_textarea_handle(content): input_tongyixingchen_GDJS_seed = ui.input(label='seed', value=config.get("tongyixingchen", "固定角色", "seed"), placeholder='seed生成时,随机数的种子,用于控制模型生成的随机性。如果使用相同的种子,每次运行生成的结果都将相同;当需要复现模型的生成结果时,可以使用相同的种子。seed参数支持无符号64位整数类型。默认值 1683806810') with ui.row(): input_tongyixingchen_GDJS_user_id = ui.input(label='用户ID', value=config.get("tongyixingchen", "固定角色", "user_id"), placeholder='业务系统用户唯一标识,同一用户不能并行对话,必须待上次对话回复结束后才可发起下轮对话') - input_tongyixingchen_GDJS_user_name = ui.input(label='对话用户名称', value=config.get("tongyixingchen", "固定角色", "user_name"), placeholder='对话用户名称,即你的名字') + input_tongyixingchen_GDJS_username = ui.input(label='对话用户名称', value=config.get("tongyixingchen", "固定角色", "username"), placeholder='对话用户名称,即你的名字') input_tongyixingchen_GDJS_role_name = ui.input(label='固定角色名称', value=config.get("tongyixingchen", "固定角色", "role_name"), placeholder='角色ID对应的角色名称,自己编写的别告诉我你不知道!') if config.get("webui", "show_card", "llm", "my_wenxinworkshop"): @@ -3482,7 +3482,7 @@ def talk_chat_box_send(): return # 获取用户名和文本内容 - user_name = input_talk_username.value + username = input_talk_username.value content = textarea_talk_chat_box.value # 清空聊天框 @@ -3491,7 +3491,7 @@ def talk_chat_box_send(): data = { "type": "comment", "platform": "webui", - "username": user_name, + "username": username, "content": content } @@ -3509,7 +3509,7 @@ def talk_chat_box_reread(insert_index=-1): return # 获取用户名和文本内容 - user_name = input_talk_username.value + username = input_talk_username.value content = textarea_talk_chat_box.value # 清空聊天框 @@ -3518,7 +3518,7 @@ def talk_chat_box_reread(insert_index=-1): if insert_index == -1: data = { "type": "reread", - "username": user_name, + "username": username, "content": content } else: @@ -3532,7 +3532,7 @@ def talk_chat_box_reread(insert_index=-1): data = { "type": "reread", - "username": user_name, + "username": username, "content": content, "insert_index": insert_index } @@ -3548,7 +3548,7 @@ def talk_chat_box_tuning(): return # 获取用户名和文本内容 - user_name = input_talk_username.value + username = input_talk_username.value content = textarea_talk_chat_box.value # 清空聊天框 @@ -3556,7 +3556,7 @@ def talk_chat_box_tuning(): data = { "type": "tuning", - "user_name": user_name, + "username": username, "content": content } @@ -3732,7 +3732,7 @@ def update_echart_gift(): ui.label("通用配置") with ui.row(): switch_webui_show_card_common_config_read_comment = ui.switch('念弹幕', value=config.get("webui", "show_card", "common_config", "read_comment")).style(switch_internal_css) - switch_webui_show_card_common_config_read_user_name = ui.switch('回复时念用户名', value=config.get("webui", "show_card", "common_config", "read_user_name")).style(switch_internal_css) + switch_webui_show_card_common_config_read_username = ui.switch('回复时念用户名', value=config.get("webui", "show_card", "common_config", "read_username")).style(switch_internal_css) switch_webui_show_card_common_config_filter = ui.switch('过滤', value=config.get("webui", "show_card", "common_config", "filter")).style(switch_internal_css) switch_webui_show_card_common_config_thanks = ui.switch('答谢', value=config.get("webui", "show_card", "common_config", "thanks")).style(switch_internal_css) switch_webui_show_card_common_config_audio_random_speed = ui.switch('音频随机变速', value=config.get("webui", "show_card", "common_config", "audio_random_speed")).style(switch_internal_css)