mirror of
http://shenjack.top:5100/shenjack/icalingua-python-bot.git
synced 2025-02-23 01:39:58 +08:00
还是0.8.0……
This commit is contained in:
parent
c80e938a78
commit
974c2577c3
|
@ -255,6 +255,13 @@ impl IcaClientPy {
|
||||||
/// 返回是否成功
|
/// 返回是否成功
|
||||||
pub fn reload_plugin_status(&self) -> bool { PyStatus::get_mut().config.reload_from_default() }
|
pub fn reload_plugin_status(&self) -> bool { PyStatus::get_mut().config.reload_from_default() }
|
||||||
|
|
||||||
|
/// 重新加载插件
|
||||||
|
///
|
||||||
|
/// 返回是否成功
|
||||||
|
pub fn reload_plugin(&self, plugin_name: String) -> bool {
|
||||||
|
PyStatus::get_mut().reload_plugin(&plugin_name)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn debug(&self, content: String) {
|
pub fn debug(&self, content: String) {
|
||||||
event!(Level::DEBUG, "{}", content);
|
event!(Level::DEBUG, "{}", content);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,6 +77,13 @@ impl TailchatClientPy {
|
||||||
/// 返回是否成功
|
/// 返回是否成功
|
||||||
pub fn reload_plugin_status(&self) -> bool { PyStatus::get_mut().config.reload_from_default() }
|
pub fn reload_plugin_status(&self) -> bool { PyStatus::get_mut().config.reload_from_default() }
|
||||||
|
|
||||||
|
/// 重新加载插件
|
||||||
|
///
|
||||||
|
/// 返回是否成功
|
||||||
|
pub fn reload_plugin(&self, plugin_name: String) -> bool {
|
||||||
|
PyStatus::get_mut().reload_plugin(&plugin_name)
|
||||||
|
}
|
||||||
|
|
||||||
#[pyo3(signature = (content, converse_id, group_id = None))]
|
#[pyo3(signature = (content, converse_id, group_id = None))]
|
||||||
pub fn new_message(
|
pub fn new_message(
|
||||||
&self,
|
&self,
|
||||||
|
|
|
@ -46,6 +46,23 @@ impl PyStatus {
|
||||||
/// 添加一个插件
|
/// 添加一个插件
|
||||||
pub fn add_file(&mut self, path: PathBuf, plugin: PyPlugin) { self.files.insert(path, plugin); }
|
pub fn add_file(&mut self, path: PathBuf, plugin: PyPlugin) { self.files.insert(path, plugin); }
|
||||||
|
|
||||||
|
/// 重新加载一个插件
|
||||||
|
pub fn reload_plugin(&mut self, plugin_name: &str) -> bool {
|
||||||
|
let plugin = self.files.iter_mut().find_map(|(_, plugin)| {
|
||||||
|
if plugin.get_id() == plugin_name {
|
||||||
|
Some(plugin)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if let Some(plugin) = plugin {
|
||||||
|
plugin.reload_from_file()
|
||||||
|
} else {
|
||||||
|
event!(Level::WARN, "没有找到插件: {}", plugin_name);
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// 删除一个插件
|
/// 删除一个插件
|
||||||
pub fn delete_file(&mut self, path: &PathBuf) -> Option<PyPlugin> { self.files.remove(path) }
|
pub fn delete_file(&mut self, path: &PathBuf) -> Option<PyPlugin> { self.files.remove(path) }
|
||||||
|
|
||||||
|
@ -128,7 +145,7 @@ impl PyPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 从文件更新
|
/// 从文件更新
|
||||||
pub fn reload_from_file(&mut self) {
|
pub fn reload_from_file(&mut self) -> bool {
|
||||||
let raw_file = load_py_file(&self.file_path);
|
let raw_file = load_py_file(&self.file_path);
|
||||||
match raw_file {
|
match raw_file {
|
||||||
Ok(raw_file) => match Self::try_from(raw_file) {
|
Ok(raw_file) => match Self::try_from(raw_file) {
|
||||||
|
@ -137,6 +154,7 @@ impl PyPlugin {
|
||||||
self.changed_time = plugin.changed_time;
|
self.changed_time = plugin.changed_time;
|
||||||
self.enabled = PyStatus::get().config.get_status(&self.get_id());
|
self.enabled = PyStatus::get().config.get_status(&self.get_id());
|
||||||
event!(Level::INFO, "更新 Python 插件文件 {:?} 完成", self.file_path);
|
event!(Level::INFO, "更新 Python 插件文件 {:?} 完成", self.file_path);
|
||||||
|
true
|
||||||
}
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
warn!(
|
warn!(
|
||||||
|
@ -145,10 +163,12 @@ impl PyPlugin {
|
||||||
e,
|
e,
|
||||||
get_py_err_traceback(&e)
|
get_py_err_traceback(&e)
|
||||||
);
|
);
|
||||||
|
false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
warn!("更新插件 {:?}: {:?} 失败", self.file_path, e);
|
warn!("更新插件 {:?}: {:?} 失败", self.file_path, e);
|
||||||
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
4
news.md
4
news.md
|
@ -21,11 +21,15 @@
|
||||||
- socketio event: `sendGroupPoke`
|
- socketio event: `sendGroupPoke`
|
||||||
- 添加了 `reload_plugin_status` api
|
- 添加了 `reload_plugin_status` api
|
||||||
- 用于重新加载插件状态
|
- 用于重新加载插件状态
|
||||||
|
- 添加了 `reload_plugin(plugin_name: str)` api
|
||||||
|
- 用于重新加载指定插件
|
||||||
|
|
||||||
### tailchat 1.2.5
|
### tailchat 1.2.5
|
||||||
|
|
||||||
- 添加了 `reload_plugin_status` api
|
- 添加了 `reload_plugin_status` api
|
||||||
- 用于重新加载插件状态
|
- 用于重新加载插件状态
|
||||||
|
- 添加了 `reload_plugin(plugin_name: str)` api
|
||||||
|
- 用于重新加载指定插件
|
||||||
|
|
||||||
## 0.7.4
|
## 0.7.4
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user