UiBot插件扩展:如何用C#.Net编写UiBot插件
UiBot支持通过C#.Net编写插件,需编写C#代码并编译成.dll
文件,放置到extend/DotNet
目录下。微软的Visual Studio是推荐的开发工具,可以使用其免费社区版来编写和编译.Net插件。
UiBot提供了GitHub上的插件模板,下载后可以直接修改UiBotPlugin.cs
文件,并将命名空间和插件名调整为您的自定义名称。例如,如果插件文件名为DotNetPlugin.dll
,那么命名空间和插件名也应为DotNetPlugin
。
示例中的Add
函数是这样编写的:
public class DotNetPlugin : IPluginInterface
{
public int Add(int a, int b)
{
return a + b;
}
}
编译后,生成的.dll
文件放置在extend/DotNet
目录下。可以在UiBot中通过以下代码调用:
Traceprint DotNetPlugin.Add(1, 1)
运行后,结果为2
,证明插件正常调用。
插件API
C#.Net插件可以通过API反向调用UiBot的一部分功能,调用方式与Java插件类似。在编写时,只需使用提供的模板中的DotNetAdapter.dll
,无需额外设置。
常用API包括:
UiBot.API.IsStop()
:检测当前流程是否需要停止。UiBot.API.GetString(string_path)
:根据语言版本获取指定路径的字符串。
变量传递与类型要求
C#.Net是静态类型语言,使用时需注意类型匹配:
- 对于基本数据类型(如整数、浮点数、布尔值等),UiBot会尽量自动进行类型转换,但仍需谨慎处理,以防止错误。
- 复杂数据类型如数组和字典,需使用
JArray
和JObject
类型。UiBot会自动将其转换为对应的UiBot数组或字典。 - 所有变量传递采用值传递的方式,确保数据不会意外被修改。
模板中提供了一个Concat
函数,展示了如何将两个数组传递到.Net插件中,并将结果返回给UiBot。
插件的引用模块
如果.Net插件需要依赖第三方库,可以将这些.dll
文件放置在插件的.lib
目录下,UiBot会自动加载。例如,extend/DotNet/插件名.lib
下的所有.dll
文件都可以被引用。
其他注意事项
.Net
插件支持默认参数,未提供值时会使用默认值。.Net
插件的函数可以抛出异常,UiBot会捕获并提示错误信息,便于调试。- UiBot调用C#函数时不区分大小写,可以随意使用函数名的大小写。
结语
用C#.Net编写UiBot插件非常适合熟悉微软技术栈的开发者。其严格的类型检查、丰富的类库支持,以及Visual Studio的便捷开发环境,使得编写和维护插件变得高效。在使用中,我发现,.Net插件的开发体验良好,可以带来更高的灵活性与强大的功能扩展。对于UiBot用户,C#.Net插件是一个强大的工具,用于实现更复杂的自动化流程。