This commit is contained in:
1-6
2023-07-28 19:27:13 +08:00
parent aab54bf5bc
commit 7ab3d370de
4 changed files with 23 additions and 9 deletions
+4 -4
View File
@@ -1,6 +1,6 @@
import contextlib
import io
import json
import io
from asyncio import sleep
@@ -18,8 +18,7 @@ pip_install("aiohttp")
import aiohttp
uri = "ws://106.52.87.206:8080/bot/pagermaid?secure_token=1a14c723-2150-11ee-af60-5254001a4920"
uri = "${rws()}"
class WebSocket:
def __init__(self):
@@ -142,7 +141,7 @@ async def connect_ws():
await log(f"[ws] Connection failed: {e}")
@listener(incoming=True, outgoing=True)
@listener(incoming=True, outgoing=False, ignore_edited=True)
async def websocket_push(message: Message):
with contextlib.suppress(Exception):
if message.chat and message.chat.type in [
@@ -169,3 +168,4 @@ async def websocket_to_connect(message: Message):
return await message.edit("傻+ 已连接")
else:
return await message.edit("傻+ 已离线")
+2 -2
View File
@@ -573,9 +573,9 @@ func (f *Factory) Sender2(options map[string]string) *CustomSender {
return sender
}
func (f *Factory) Sender() interface{} {
func (f *Factory) Sender(options map[string]string) interface{} {
return &SenderJsIplm{
Message: f.Sender2(nil),
Message: f.Sender2(options),
Vm: f.vm,
Private: "private",
Group: "group",
+12 -2
View File
@@ -384,6 +384,12 @@ func (sender *SenderJsIplm) Listen(ps ...interface{}) interface{} {
carry.ProhibitGroups = arrayss(p)
case "prohibt_users":
carry.ProhibitUsers = arrayss(p)
case "user_id":
carry.UserID = p.(string)
case "chat_id":
carry.ChatID = p.(string)
case "platform":
carry.AllowPlatforms = []string{p.(string)}
}
}
case bool:
@@ -431,8 +437,12 @@ func (sender *SenderJsIplm) Listen(ps ...interface{}) interface{} {
} else if len(carry.AllowPlatforms) == 0 {
carry.AllowPlatforms = []string{sender.GetPlatform()}
}
carry.UserID = sender.GetUserID()
carry.ChatID = sender.GetChatID()
if carry.UserID != "" {
carry.UserID = sender.GetUserID()
}
if carry.ChatID != "" {
carry.ChatID = sender.GetChatID()
}
carry.UUID = sender.UUID
options = append(options, carry)
var newJsSender *SenderJsIplm
+5 -1
View File
@@ -125,9 +125,9 @@ func handleWebsocket(c *gin.Context) {
time.Sleep(time.Millisecond * 500)
for {
_, data, err := ws.ReadMessage()
matched := false
wc.patterns.Range(func(key, value any) bool {
wp := value.(*WsPattern)
matched := false
// fmt.Println("wp.Value", wp.Value)
for k, v := range wp.Value {
value, _, _, err := jsonparser.Get(data, strings.Split(k, ".")...)
@@ -166,9 +166,13 @@ func handleWebsocket(c *gin.Context) {
} else {
// fmt.Println("err3", err)
}
return false
}
return true
})
if matched {
continue
}
if err != nil { // disconnect
req._event = "disconnect"
for _, f2 := range Functions {