using NQBot.Sdk;
namespace NQBot.Plugin.Hello;
public sealed class HelloPlugin : BotPluginBase, IConfigurablePlugin
{
private HelloConfig _config = new();
public override string Id => "hello";
public override string Name => "Hello 示例";
public override string Version => "1.0.0";
public override string Author => "Muo";
public override string Description => "收到“你好”或“hello”时回复一句话。";
public override void OnLoad(IPluginContext context)
{
base.OnLoad(context);
_config = PluginHelpers.LoadConfig(context, () => new HelloConfig());
}
public override void OnEvent(BotEvent evt)
{
if (evt.Kind != BotEventKind.GroupMessage) return;
if (!_config.Enabled) return;
string text = PluginHelpers.CleanText(evt.Text);
if (!PluginHelpers.MatchesAny(text, new[] { "你好", "hello" })) return;
_ = Context.Actions.SendGroupTextAtAsync(evt.GroupId, evt.UserId, _config.Reply);
}
public IReadOnlyList<PluginOption> GetOptions() => new[]
{
new PluginOption("enabled", "启用插件", PluginOptionType.Bool, "true"),
new PluginOption("reply", "回复内容", PluginOptionType.Text, "你好呀!")
};
}
public sealed class HelloConfig
{
public bool Enabled { get; set; } = true;
public string Reply { get; set; } = "你好呀!";
}