Merge branch 'dev' of https://github.com/MaiM-with-u/MaiBot into dev
This commit is contained in:
@@ -138,7 +138,7 @@ class BotConfig:
|
||||
MAI_VERSION: str = mai_version # 硬编码的版本信息
|
||||
|
||||
# bot
|
||||
BOT_QQ: Optional[int] = 114514
|
||||
BOT_QQ: Optional[str] = "114514"
|
||||
BOT_NICKNAME: Optional[str] = None
|
||||
BOT_ALIAS_NAMES: List[str] = field(default_factory=list) # 别名,可以通过这个叫它
|
||||
|
||||
@@ -395,7 +395,7 @@ class BotConfig:
|
||||
# 机器人基础配置
|
||||
bot_config = parent["bot"]
|
||||
bot_qq = bot_config.get("qq")
|
||||
config.BOT_QQ = int(bot_qq)
|
||||
config.BOT_QQ = str(bot_qq)
|
||||
config.BOT_NICKNAME = bot_config.get("nickname", config.BOT_NICKNAME)
|
||||
config.BOT_ALIAS_NAMES = bot_config.get("alias_names", config.BOT_ALIAS_NAMES)
|
||||
|
||||
@@ -624,9 +624,14 @@ class BotConfig:
|
||||
|
||||
def groups(parent: dict):
|
||||
groups_config = parent["groups"]
|
||||
config.talk_allowed_groups = set(groups_config.get("talk_allowed", []))
|
||||
config.talk_frequency_down_groups = set(groups_config.get("talk_frequency_down", []))
|
||||
config.ban_user_id = set(groups_config.get("ban_user_id", []))
|
||||
# config.talk_allowed_groups = set(groups_config.get("talk_allowed", []))
|
||||
config.talk_allowed_groups = set(str(group) for group in groups_config.get("talk_allowed", []))
|
||||
# config.talk_frequency_down_groups = set(groups_config.get("talk_frequency_down", []))
|
||||
config.talk_frequency_down_groups = set(
|
||||
str(group) for group in groups_config.get("talk_frequency_down", [])
|
||||
)
|
||||
# config.ban_user_id = set(groups_config.get("ban_user_id", []))
|
||||
config.ban_user_id = set(str(user) for user in groups_config.get("ban_user_id", []))
|
||||
|
||||
def platforms(parent: dict):
|
||||
platforms_config = parent["platforms"]
|
||||
|
||||
@@ -77,10 +77,17 @@ class ChatBot:
|
||||
# 确保所有任务已启动
|
||||
await self._ensure_started()
|
||||
|
||||
if message_data["message_info"]["group_info"] is not None:
|
||||
message_data["message_info"]["group_info"]["group_id"] = str(
|
||||
message_data["message_info"]["group_info"]["group_id"]
|
||||
)
|
||||
message_data["message_info"]["group_info"]["group_id"] = str(
|
||||
message_data["message_info"]["group_info"]["group_id"]
|
||||
)
|
||||
logger.trace(f"处理消息:{str(message_data)[:120]}...")
|
||||
message = MessageRecv(message_data)
|
||||
groupinfo = message.message_info.group_info
|
||||
userinfo = message.message_info.user_info
|
||||
logger.trace(f"处理消息:{str(message_data)[:120]}...")
|
||||
|
||||
if userinfo.user_id in global_config.ban_user_id:
|
||||
logger.debug(f"用户{userinfo.user_id}被禁止回复")
|
||||
|
||||
@@ -313,17 +313,21 @@ class MessageSending(MessageProcessBase):
|
||||
|
||||
def set_reply(self, reply: Optional["MessageRecv"] = None) -> None:
|
||||
"""设置回复消息"""
|
||||
if reply:
|
||||
self.reply = reply
|
||||
if self.reply:
|
||||
self.reply_to_message_id = self.reply.message_info.message_id
|
||||
self.message_segment = Seg(
|
||||
type="seglist",
|
||||
data=[
|
||||
Seg(type="reply", data=self.reply.message_info.message_id),
|
||||
self.message_segment,
|
||||
],
|
||||
)
|
||||
if (
|
||||
self.message_info.format_info.accept_format is not None
|
||||
and "reply" in self.message_info.format_info.accept_format
|
||||
):
|
||||
if reply:
|
||||
self.reply = reply
|
||||
if self.reply:
|
||||
self.reply_to_message_id = self.reply.message_info.message_id
|
||||
self.message_segment = Seg(
|
||||
type="seglist",
|
||||
data=[
|
||||
Seg(type="reply", data=self.reply.message_info.message_id),
|
||||
self.message_segment,
|
||||
],
|
||||
)
|
||||
return self
|
||||
|
||||
async def process(self) -> None:
|
||||
|
||||
@@ -375,17 +375,21 @@ class ThinkFlowChat:
|
||||
info_catcher.done_catch()
|
||||
|
||||
# 处理表情包
|
||||
try:
|
||||
with Timer("处理表情包", timing_results):
|
||||
if global_config.emoji_chance == 1:
|
||||
if send_emoji:
|
||||
logger.info(f"麦麦决定发送表情包{send_emoji}")
|
||||
await self._handle_emoji(message, chat, response_set, send_emoji)
|
||||
else:
|
||||
if random() < global_config.emoji_chance:
|
||||
await self._handle_emoji(message, chat, response_set)
|
||||
except Exception as e:
|
||||
logger.error(f"心流处理表情包失败: {e}")
|
||||
if (
|
||||
message.message_info.format_info.accept_format is not None
|
||||
and "emoji" in message.message_info.format_info.accept_format
|
||||
):
|
||||
try:
|
||||
with Timer("处理表情包", timing_results):
|
||||
if global_config.emoji_chance == 1:
|
||||
if send_emoji:
|
||||
logger.info(f"麦麦决定发送表情包{send_emoji}")
|
||||
await self._handle_emoji(message, chat, response_set, send_emoji)
|
||||
else:
|
||||
if random() < global_config.emoji_chance:
|
||||
await self._handle_emoji(message, chat, response_set)
|
||||
except Exception as e:
|
||||
logger.error(f"心流处理表情包失败: {e}")
|
||||
|
||||
# 思考后脑内状态更新
|
||||
# try:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import time
|
||||
from random import random
|
||||
|
||||
import traceback
|
||||
from typing import List
|
||||
from ...memory_system.Hippocampus import HippocampusManager
|
||||
from ...moods.moods import MoodManager
|
||||
@@ -255,7 +255,7 @@ class ReasoningChat:
|
||||
|
||||
info_catcher.catch_after_generate_response(timing_results["生成回复"])
|
||||
except Exception as e:
|
||||
logger.error(f"回复生成出现错误:str{e}")
|
||||
logger.error(f"回复生成出现错误:{str(e)} {traceback.format_exc()}")
|
||||
response_set = None
|
||||
|
||||
if not response_set:
|
||||
|
||||
Reference in New Issue
Block a user