https://github.com/coloryr/onebotsharp
一个用于OneBot机器人开发的插件SDK
https://github.com/coloryr/onebotsharp
onebot onebot-sdk
Last synced: 3 months ago
JSON representation
一个用于OneBot机器人开发的插件SDK
- Host: GitHub
- URL: https://github.com/coloryr/onebotsharp
- Owner: Coloryr
- License: apache-2.0
- Created: 2024-05-11T03:19:46.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-22T08:26:40.000Z (about 1 year ago)
- Last Synced: 2024-12-27T19:27:31.358Z (5 months ago)
- Topics: onebot, onebot-sdk
- Language: C#
- Homepage:
- Size: 170 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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的复合端口