diff --git a/channel/wechat/wechat_channel.py b/channel/wechat/wechat_channel.py index eff788d..a57957d 100644 --- a/channel/wechat/wechat_channel.py +++ b/channel/wechat/wechat_channel.py @@ -57,8 +57,8 @@ class WechatChannel(Channel): # handle_* 系列函数处理收到的消息后构造context,然后调用handle函数处理context # context是一个字典,包含了消息的所有信息,包括以下key - # type: 消息类型,包括TEXT、VOICE、IMAGE_CREATE - # content: 消息内容,如果是TEXT类型,content就是文本内容,如果是VOICE类型,content就是语音文件名,如果是IMAGE_CREATE类型,content就是图片生成命令 + # type 消息类型, 包括TEXT、VOICE、IMAGE_CREATE + # content 消息内容,如果是TEXT类型,content就是文本内容,如果是VOICE类型,content就是语音文件名,如果是IMAGE_CREATE类型,content就是图片生成命令 # session_id: 会话id # isgroup: 是否是群聊 # msg: 原始消息对象 diff --git a/plugins/banwords/banwords.py b/plugins/banwords/banwords.py index 2b4a711..9488b5a 100644 --- a/plugins/banwords/banwords.py +++ b/plugins/banwords/banwords.py @@ -38,7 +38,7 @@ class Banwords(Plugin): self.handlers[Event.ON_HANDLE_CONTEXT] = self.on_handle_context logger.info("[Banwords] inited") except Exception as e: - logger.error("Banwords init failed: %s" % e) + logger.warn("Banwords init failed: %s" % e) diff --git a/plugins/plugin_manager.py b/plugins/plugin_manager.py index d946786..8906e6e 100644 --- a/plugins/plugin_manager.py +++ b/plugins/plugin_manager.py @@ -6,8 +6,8 @@ import os from common.singleton import singleton from common.sorted_dict import SortedDict from .event import * -from .plugin import * from common.log import logger +from config import conf @singleton @@ -62,7 +62,11 @@ class PluginManager: if os.path.isfile(main_module_path): # 导入插件 import_path = "{}.{}.{}".format(plugins_dir, plugin_name, plugin_name) - main_module = importlib.import_module(import_path) + try: + main_module = importlib.import_module(import_path) + except Exception as e: + logger.warn("Failed to import plugin %s: %s" % (plugin_name, e)) + continue pconf = self.pconf new_plugins = [] modified = False diff --git a/plugins/role/role.py b/plugins/role/role.py index 648a4c6..ad4b48e 100644 --- a/plugins/role/role.py +++ b/plugins/role/role.py @@ -119,7 +119,7 @@ class Role(Plugin): e_context.action = EventAction.CONTINUE def get_help_text(self): - help_text = "输入\"$角色 (角色名)\"或\"$role (角色名)\"为我设定角色吧,$停止扮演 可以清除设定的角色。\n目前可用角色列表:\n" + help_text = "输入\"$角色 (角色名)\"或\"$role (角色名)\"为我设定角色吧,#reset 可以清除设定的角色。\n\n目前可用角色列表:\n" for role in self.roles: help_text += f"[{role}]: {self.roles[role]['remark']}\n" return help_text