快速开始
用vs创建一个dotnet6的类库项目,然后在项目中添加一个类,就完成了一个鹦鹉学舌的插件,代码如下:
/// <summary>
/// 插件本体,系统会扫描到这个文件,并执行里面的方法
/// 项目要引用Plugin.dll,
/// 可以将引入的dll的属性 "复制本地"设置为否,这样会减少插件文件生成时的多余文件
/// </summary>
public class MainPlugin:IPlugin
{
/// <summary>
/// 插件作者,会在插件页面上展示
/// </summary>
public override string Author => "Byboy";
/// <summary>
/// 插件描述,会在插件页面上展示
/// </summary>
public override string Description => "学人说话";
/// <summary>
/// 插件名称,会在插件页面上展示
/// </summary>
public override string Name => "鹦鹉学舌";
/// <summary>
/// 插件版本,会在插件页面上展示
/// </summary>
public override string Version =>"v1.0";
public override void Initialize()
{
// 插件初始化,可以在这里初始化插件的一些事情
// 例如初始化数据库,订阅事件之类的
// 订阅收到消息事件,订阅这个事件时需要引用的带二个dll,SuperWx.dll
ReceiveFriendMessage += this.MainPlugin_ReceiveFriendMessage;
base.Initialize();
}
private async Task MainPlugin_ReceiveFriendMessage(SuperWx.WXUserLogin sender,Plugin.EveEntitys.ReceiveFriendMessageArgs e)
{
// 这个方法必须引用mg.wecode.dll以及mg.protobuf.dll,消息体支持一些标签,例如骰子标签,石头剪刀布标签
/*
* at谁[@Username]
* app消息必须已<appmsg开头.</appmsg>结尾
* 本地图片[Image=本地地址]
* 网络图案[Image=网络地址]
* 骰子[emoji=dice:1~6]
* 石头剪刀布[emoji=rock:1~3]
* emoji表情[emoji=md5:md5]
* 名片消息[card=Username]
*/
await SendTextMsg(sender.OriginalId,e.Username,e.Content.Text);
//如果此事件是最终处理的结果,即不需要该事件流入下一个插件中,则需要将e.Cancel设置为true,否则可以设置为false
e.Cancel = true;
}
}