Amiable Next是使用了HTTPAPI的一个C# Bot开发框架
目前支持:
- MYQQ
即将支持:
- QQ频道
使用MYQQ作为框架,你需要安装MYQQ的官方 HTTP API
- 下载HTTPAPI
- 配置HTTPAPI插件的信息:手册
AmiableNext的针对Myqq的回调地址为/MyqqMsg
(你也可以自己修改)
也就是说,你需要在appsettings.json
里面配置好本机URL后
在MYQQ内的HTTP API插件配置填入{url}/MyqqMsg
同时 配置请求头。
Content-Type:application/json
- 配置AmiableNext的配置文件。位于同一目录appsettings.json
{
"Mode": "MyQQ_HTTP_API",
"MyQQ_HTTP_API": {
"ApiUrl": "url",
"AuthToken": "auth"
}
}
AmiableNext仅支持使用2.x的mirai-http-api
- 配置mirai-http-api
请进入mirai-http-api的配置文件,为其添加http与webhook的adpater
adapters:
- webhook
- http
紧接着
enableVerify: true
verifyKey: xxxxxx
singleMode: true
adapterSettings:
webhook:
destinations:
- '{{url}}/MiraiEvent' #url应为appsettings.json下配置的地址
http:
host: localhost
port: 8091 # 可更改,但也要同步更改AmiableNext使用的Mirai配置
cors: [ * ]
- 配置AmiableNext的Mirai兼容
位于 appsettings.json
{
"Mode": "Mirai_HTTP_HOOK",
"Mirai_HTTP_HOOK": {
"ApiUrl": "这里是刚刚配置的adapterSettings.host:port",
"AuthToken": "这里是刚刚自己配置的verifyKey"
}
}
- MyQQ_HTTP_API
- Mirai_HTTP_HOOK
位于 appsettings.json
{
"Mode": "Mirai_HTTP_HOOK"
}
{
"Mode": "MyQQ_HTTP_API"
}
- 创建继承IBotEvent的类
- 实现类。
- 注册事件。
EventType 是 CommonEventType.MessageFriend (好友消息)
public class DemoPrivateMsg2 : IBotEvent
{
public CommonEventType EventType { get; set; } = CommonEventType.MessageFriend;
public async void Process(AmiableEventContext ctx)
{
if (Regex.IsMatch(ctx.Content, @"我是谁[?.]?"))
{
ctx.PrivateReply($"你是:{await ctx.Api.GetNickAsync(ctx.BotId, ctx.AuthorId)}");
}
}
}
在AmiableService.cs
中
app.RegEvent<DemoPrivateMsg2>("样例私聊事件2");
重启后成功载入事件。