微风
  • 主页
  • 日志
  • Api 文档
Show / Hide Table of Contents
  • Plugin
    • BaseConfig
    • Conts
    • Eve
    • IPlugin
    • IPlugin.EventAsyncHandler<TEventArgs>
    • StaticData
  • Plugin.DbEntitys
    • Data
    • Evn
    • Integral
    • IntegralList
    • PluginConfig
    • PluginConfigs
    • RobotConfig
    • Status
  • Plugin.EveEntitys
    • BaseContactArgs
    • ContactArgs
    • ContactIconArgs
    • GroupArgs
    • GroupMemberArgs
    • GroupMemberCollection
    • MessageBoxAgrs
    • MessageType
    • ReceiveFriendMessageArgs
    • ReceiveGroupMemberEnterArgs
    • ReceiveGroupMemberQuitArgs
    • ReceiveGroupMessageArgs
    • ReceiveGroupNameChangeArgs
    • ReceiveNewFriendArgs
    • ReceiveOtherDeviceMessageArgs
    • ReceiveQRCodePayArgs
    • ReceiveSystemMessageArgs
    • SendResponseArgs
    • WeClientEventArgs
  • WeFeng.Db
    • DbUtilsHelpers

快速开始

用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;
        }
    }
In This Article
Back to top © 2023 微风版权所有