本示例将会使用”鹦鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua
实现第一个机器人插件。
Newbe.Mahua.Framework 已于 2020 年 8 月 2 日 正式归档,源码将不再更新。
插件功能
自动将发送者的消息回发给发送人,鹦鹉(英文:Parrot)学舌。
环境要求
- .Net Framework 4.5.2 及以上
- Visual Studio 2015 update 3 及以上(推荐 2017)
以下内容均采用 vs2017 作为演示 IDE
新建项目
项目名称至少需要包含三部分,形如 AAA.BBB.CCC 的形式。

安装 nuget 包

打开 nuget 包管理器,搜索Mahua
。根据你希望运行的机器人平台安装Newbe.Mahua.*
的 nuget 包。
本示例希望运行在多个平台上,因此安装以下 nuget 包:
- Newbe.Mahua.CQP
- Newbe.Mahua.Amanda
若想要安装最新的开发版,可以勾选”包含预发行版”。 由于框架在不断演进,因此尽可能早的升级到最新的版本。
修改Newbe.Mahua.props
文件
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <MahuaPluginName>Newbe.Mahua.Plugins.Parrot</MahuaPluginName> </PropertyGroup> </Project>
|
实现插件
新建MahuaModule.cs
文件,将以下代码复制进去:
using System; using Autofac; using Newbe.Mahua.MahuaEvents;
namespace Newbe.Mahua.Plugins.Parrot {
public class PluginInfo : IPluginInfo { public string Version { get; set; } = "1.0.0";
public string Name { get; set; } = "鹦鹉学舌";
public string Author { get; set; } = "Newbe";
public string Id { get; set; } = "Newbe.Mahua.Plugins.Parrot";
public string Description { get; set; } = "鹦鹉学舌,是一个使用Mahua框架开发的第一个插件。该插件实现将好友的私聊消息回发给好友的功能。"; }
public class PrivateMessageFromFriendReceivedMahuaEvent : IPrivateMessageFromFriendReceivedMahuaEvent { private readonly IMahuaApi _mahuaApi;
public PrivateMessageFromFriendReceivedMahuaEvent(IMahuaApi mahuaApi) { _mahuaApi = mahuaApi; }
public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context) { _mahuaApi.SendPrivateMessage(context.FromQq, context.Message); } }
public class MahuaModule : IMahuaModule { public Module[] GetModules() { return new Module[] {new PluginModule(),}; }
private class PluginModule : Module { protected override void Load(ContainerBuilder builder) { base.Load(builder); builder.RegisterType<PluginInfo>().AsImplementedInterfaces(); builder.RegisterType<PrivateMessageFromFriendReceivedMahuaEvent>().AsImplementedInterfaces(); } } } }
|
生成解决方案
若出现生成失败请多次重试,多次重试失败请认栽。
复制文件到机器人平台
在bin
目录下会按照当前安装的平台生成相应的目录。本示例将会生成 CQP 和 Amanda 两个目录。
分别将两个目录中的文件复制到对应的机器人平台根目录。
启用插件
CQP
打开酷 Q 文件夹下的 conf\CQP.cfg
文件,并在文件末尾插入以下两行,即可开启开发者模式。
打开插件管理将插件启用。
Amanda
打开插件管理将插件启用。
成功!
发送消息给机器人,你就会收到机器人回发的信息。
机器人插件启动可能需要一段时间,并且大多数平台都会丢弃离线信息,可能需要等待一会儿在发送。