An open API service indexing awesome lists of open source software.

https://github.com/coloryr/onebotsharp

一个用于OneBot机器人开发的插件SDK
https://github.com/coloryr/onebotsharp

onebot onebot-sdk

Last synced: 3 months ago
JSON representation

一个用于OneBot机器人开发的插件SDK

Awesome Lists containing this project

README

        

# OneBotSharp

用于`OneBot 11`标准机器人开发插件的C# SDK

目前支持
- 正向Http
- 反向Http
- 正向WebSocket

目前不提供nuget包,你需要将源码拉到你的项目中编译使用
使用`git submodule`可以方便管理

使用示例
```C#
using OneBotSharp.Objs.Api;
using OneBotSharp.Objs.Event;
using OneBotSharp.Protocol;

namespace OneBotSharp.Plugin;

//插件示例

internal class Program
{
private static ISendClient send;
static void Main(string[] args)
{
//正向Http
//var bot = Bot.MakeSendPipe("http://localhost:8080");
//send = bot.Pipe;
//反向Http
//var recv = Bot.MakeRecvPipe("http://0.0.0.0:8081");
//recv.EventRecv += Recv_EventRecv;
//创建双向Pipe
var bot = Bot.MakePipe("ws://localhost:8082/");
bot.Pipe.EventRecv += Recv_EventRecv;
bot.Pipe.StateChange += Pipe_StateChange;
send = bot.Pipe;
bot.Start();
Console.ReadKey();
}

private static void Pipe_StateChange(ISendRecvPipe pipe, ISendRecvPipe.PipeState obj)
{

}

///
/// 收到事件,类型可以从Objs.Event里面查看,支持所有事件类型
///
///
private static void Recv_EventRecv(ISendRecvPipe pipe, EventBase obj)
{
//收到群消息事件
if (obj is EventGroupMessage groupMessage)
{
send.SendGroupMsg(SendGroupMsg.Build(groupMessage.GroupId, "你发送了消息:" + groupMessage.Messages[0].BuildSendCq()));

//groupMessage.BuildReply("你发送了消息:" + groupMessage.Messages[0].BuildSendCq());
}
}
}

```

Pipe有Send和Recv两种
Send只能发送数据,及只能调用API
Recv只能接收数据,及只能收到上报的Event数据
也有Send和Revc的复合端口