基於CQHTTP插件的反向WebSocket通道提供服務端SDK層級的封裝
應用範例
using cqhttp.WebSocketReverse.NETCore; using System; using System.Diagnostics; using System.Threading.Tasks; WebSocketServer wss = new WebSocketServer ("ws://0.0.0.0:8889"); CqHttpParse parse = new CqHttpParse(CqHttpApi.SetResult); CqHttpApi.Timeout = TimeSpan.FromSeconds(10); wss.OnAuthorizationAsync += async (s, e) => { await Task.Run(() => { Debug.WriteLine(e.Connection.WebSocketConnectionInfo.ClientIpAddress); e.Allow(); }); }; wss.OnReceiveMessageAsync += async (s, e) => { await parse.Parse(s, e); }; parse.OnPrivateMessageAsync += async (n, b) => { var vipinfo = await b.Source.GetVipInfo(); if(vipinfo?.VipLevel == "普通用户") { await b.Source.Reply(b.Message); }else { long qqId = 123456789; int messageId = await b.Source.SendPrivateMessage($"{b.Sender.NickName}對你說:{b.Message}",qqId); if(messageId>0)await b.Source.Reply("已傳達消息"); } };