x
This commit is contained in:
+1
-11
@@ -332,17 +332,6 @@ func (sender *CustomSender) Stop() {
|
|||||||
panic("stop")
|
panic("stop")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *CustomSender) GetID() string {
|
|
||||||
return sender.id
|
|
||||||
}
|
|
||||||
|
|
||||||
func (sender *CustomSender) SetID() string {
|
|
||||||
sender.id = utils.GenUUID()
|
|
||||||
sender.CreatedAt = time.Now()
|
|
||||||
senders.Store(sender.id, sender)
|
|
||||||
return sender.id
|
|
||||||
}
|
|
||||||
|
|
||||||
func (sender *CustomSender) GetTime() time.Time {
|
func (sender *CustomSender) GetTime() time.Time {
|
||||||
return sender.CreatedAt
|
return sender.CreatedAt
|
||||||
}
|
}
|
||||||
@@ -487,6 +476,7 @@ func (s *CustomSender) Await(message common.Sender, callback func(common.Sender)
|
|||||||
if len(c.Function.Rules) == 0 {
|
if len(c.Function.Rules) == 0 {
|
||||||
c.Function.Rules = []string{`raw [\s\S]+`}
|
c.Function.Rules = []string{`raw [\s\S]+`}
|
||||||
}
|
}
|
||||||
|
// fmt.Println("carry", c)
|
||||||
fmtRule(&c.Function)
|
fmtRule(&c.Function)
|
||||||
c.Chan = make(chan interface{}, 1)
|
c.Chan = make(chan interface{}, 1)
|
||||||
c.Result = make(chan interface{}, 1)
|
c.Result = make(chan interface{}, 1)
|
||||||
|
|||||||
@@ -1,13 +1,8 @@
|
|||||||
package common
|
package common
|
||||||
|
|
||||||
import "time"
|
|
||||||
|
|
||||||
type Sender interface {
|
type Sender interface {
|
||||||
SetPluginID(string)
|
SetPluginID(string)
|
||||||
GetPluginID() string
|
GetPluginID() string
|
||||||
GetID() string
|
|
||||||
GetTime() time.Time
|
|
||||||
SetID() string
|
|
||||||
GetUserID() string
|
GetUserID() string
|
||||||
GetChatID() string
|
GetChatID() string
|
||||||
GetBotID() string
|
GetBotID() string
|
||||||
|
|||||||
+9
-18
@@ -472,9 +472,9 @@ func HandleMessage(sender common.Sender) {
|
|||||||
u, g, i, a := sender.GetUserID(), sender.GetChatID(), sender.GetImType(), sender.IsAdmin()
|
u, g, i, a := sender.GetUserID(), sender.GetChatID(), sender.GetImType(), sender.IsAdmin()
|
||||||
con := true
|
con := true
|
||||||
mtd := false
|
mtd := false
|
||||||
|
|
||||||
for _, wait := range waits {
|
for _, wait := range waits {
|
||||||
wait.Foreach(func(k int64, c *Carry) bool {
|
wait.Foreach(func(k int64, c *Carry) bool {
|
||||||
|
|
||||||
// userID := vs.Get("u")
|
// userID := vs.Get("u")
|
||||||
// chatID := vs.Get("c")
|
// chatID := vs.Get("c")
|
||||||
// imType := vs.Get("i")
|
// imType := vs.Get("i")
|
||||||
@@ -485,18 +485,26 @@ func HandleMessage(sender common.Sender) {
|
|||||||
// if userID != u && (forGroup == "" || forGroup == "me") {
|
// if userID != u && (forGroup == "" || forGroup == "me") {
|
||||||
// return true
|
// return true
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if c.RequireAdmin && !a {
|
if c.RequireAdmin && !a {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
// fmt.Println(c.Function.Rules, "==", c.AllowPlatforms, len(c.AllowPlatforms))
|
||||||
|
|
||||||
if len(c.AllowPlatforms) != 0 && !Contains(c.AllowPlatforms, i) {
|
if len(c.AllowPlatforms) != 0 && !Contains(c.AllowPlatforms, i) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fmt.Println(c.Function.Rules)
|
||||||
|
|
||||||
if len(c.ProhibitPlatforms) != 0 && Contains(c.ProhibitPlatforms, i) {
|
if len(c.ProhibitPlatforms) != 0 && Contains(c.ProhibitPlatforms, i) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(c.AllowUsers) != 0 && !Contains(c.AllowUsers, u) {
|
if len(c.AllowUsers) != 0 && !Contains(c.AllowUsers, u) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(c.ProhibitUsers) != 0 && Contains(c.ProhibitUsers, u) {
|
if len(c.ProhibitUsers) != 0 && Contains(c.ProhibitUsers, u) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@@ -543,23 +551,6 @@ func HandleMessage(sender common.Sender) {
|
|||||||
sender.SetMatch(res[1:])
|
sender.SetMatch(res[1:])
|
||||||
sender.SetParams(c.Function.Params[i])
|
sender.SetParams(c.Function.Params[i])
|
||||||
mtd = true
|
mtd = true
|
||||||
// if f, ok := c.Message.(*CustomSender); ok && f.Carry != nil {
|
|
||||||
// if s1, o := sender.(*CustomSender); o && s1.Carry != nil {
|
|
||||||
// f.Carry = s1.Carry
|
|
||||||
// c := make(chan string)
|
|
||||||
// oc := s1.Carry
|
|
||||||
// s1.Carry = c
|
|
||||||
// go func() {
|
|
||||||
// for {
|
|
||||||
// r, o := <-c
|
|
||||||
// if !o {
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// oc <- r
|
|
||||||
// }
|
|
||||||
// }()
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
c.Chan <- sender
|
c.Chan <- sender
|
||||||
sender.Reply(<-c.Result)
|
sender.Reply(<-c.Result)
|
||||||
if !sender.IsContinue() {
|
if !sender.IsContinue() {
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ func (sg *SillyGirlService) AdapterRegist(stream srpc.SillyGirlService_AdapterRe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) AdapterReceive(ctx context.Context, req *srpc.AdapterRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) AdapterReceive(ctx context.Context, req *srpc.AdapterRequest) (*srpc.Empty, error) {
|
||||||
msgs := map[string]interface{}{}
|
msgs := map[string]interface{}{}
|
||||||
bot_id := req.GetBotId()
|
bot_id := req.GetBotId()
|
||||||
platform := req.GetPlatform()
|
platform := req.GetPlatform()
|
||||||
@@ -87,10 +87,10 @@ func (sg *SillyGirlService) AdapterReceive(ctx context.Context, req *srpc.Adapte
|
|||||||
json.Unmarshal([]byte(req.Value), &msgs)
|
json.Unmarshal([]byte(req.Value), &msgs)
|
||||||
adapter, err := GetAdapter(platform, bot_id)
|
adapter, err := GetAdapter(platform, bot_id)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
s := adapter.Receive(msgs)
|
adapter.Receive(msgs)
|
||||||
return &srpc.Default{Value: s.SetID()}, nil
|
return &srpc.Empty{}, nil
|
||||||
}
|
}
|
||||||
return &srpc.Default{Value: ""}, err
|
return &srpc.Empty{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) AdapterPush(ctx context.Context, req *srpc.AdapterRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) AdapterPush(ctx context.Context, req *srpc.AdapterRequest) (*srpc.Default, error) {
|
||||||
@@ -117,9 +117,12 @@ func (sg *SillyGirlService) AdapterSender(ctx context.Context, req *srpc.Adapter
|
|||||||
platform := req.GetPlatform()
|
platform := req.GetPlatform()
|
||||||
json.Unmarshal([]byte(req.Value), &msgs)
|
json.Unmarshal([]byte(req.Value), &msgs)
|
||||||
adapter, err := GetAdapter(platform, bot_id)
|
adapter, err := GetAdapter(platform, bot_id)
|
||||||
|
if err == nil {
|
||||||
|
_, regist, err := getSenderRegisterByCtx(ctx)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
s := adapter.Sender2(msgs)
|
s := adapter.Sender2(msgs)
|
||||||
return &srpc.Default{Value: s.SetID()}, nil
|
return &srpc.Default{Value: regist(s)}, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return &srpc.Default{Value: ""}, err
|
return &srpc.Default{Value: ""}, err
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -24,7 +24,7 @@ type Language struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var plugin_dir = utils.ExecPath + "/plugins"
|
var plugin_dir = utils.ExecPath + "/plugins"
|
||||||
var release = "20230728"
|
var release = "20230730"
|
||||||
|
|
||||||
var languages = []Language{
|
var languages = []Language{
|
||||||
{
|
{
|
||||||
|
|||||||
+45
-99
@@ -46,30 +46,6 @@ func initNodePlugins() {
|
|||||||
AddNodePlugin(index, name)
|
AddNodePlugin(index, name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
|
||||||
// fmt.Println("path", path)
|
|
||||||
// path = strings.ReplaceAll(path, "\\", "/")
|
|
||||||
// if !strings.HasPrefix(path, root+"/") {
|
|
||||||
// return nil
|
|
||||||
// }
|
|
||||||
// files := strings.Split(strings.Replace(path, root+"/", "", 1), "/")
|
|
||||||
// fmt.Println("files", files)
|
|
||||||
// // var plugin_dir = false
|
|
||||||
// // var plugin_index = false
|
|
||||||
// switch len(files) {
|
|
||||||
// case 1:
|
|
||||||
// // plugin_dir = true
|
|
||||||
// if info.IsDir() {
|
|
||||||
// plugins = append(plugins, path)
|
|
||||||
// }
|
|
||||||
// case 2:
|
|
||||||
// if (files[1] == "main.js") && !info.IsDir() { //files[1] == "main.ts" ||
|
|
||||||
// AddNodePlugin(path, files[0])
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return nil
|
|
||||||
// })
|
|
||||||
watcher, err := fsnotify.NewWatcher()
|
watcher, err := fsnotify.NewWatcher()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("创建监视器失败:", err)
|
fmt.Println("创建监视器失败:", err)
|
||||||
@@ -178,37 +154,6 @@ func initNodePlugins() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// func RemNodePlugin2(name string) bool {
|
|
||||||
// if name == "" {
|
|
||||||
// return false
|
|
||||||
// }
|
|
||||||
// pluginLock.Lock()
|
|
||||||
// defer pluginLock.Unlock()
|
|
||||||
// key := nameUuid(name)
|
|
||||||
// for i := range Functions {
|
|
||||||
// if Functions[i].UUID == key {
|
|
||||||
// f := Functions[i]
|
|
||||||
// DestroyAdapterByUUID(key)
|
|
||||||
// Functions[i].Running = false
|
|
||||||
// if len(Functions[i].CronIds) != 0 {
|
|
||||||
// for _, id := range Functions[i].CronIds {
|
|
||||||
// CRON.Remove(cron.EntryID(id))
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// Functions = append(Functions[:i], Functions[i+1:]...)
|
|
||||||
// CancelPluginCrons(key)
|
|
||||||
// CancelPluginWebs(key)
|
|
||||||
// CancelPluginlistening(key)
|
|
||||||
// CancelHttpListen(key)
|
|
||||||
// remStatic(key)
|
|
||||||
// storage.DisableHandle(key)
|
|
||||||
// console.Log("已移除 %s%s", f.Title, f.Suffix)
|
|
||||||
// return true
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return false
|
|
||||||
// }
|
|
||||||
|
|
||||||
func nameUuid(name string) string {
|
func nameUuid(name string) string {
|
||||||
hash := sha1.Sum([]byte(name))
|
hash := sha1.Sum([]byte(name))
|
||||||
return strings.ReplaceAll(uuid.NewSHA1(uuid.Nil, hash[:]).String(), "-", "_")
|
return strings.ReplaceAll(uuid.NewSHA1(uuid.Nil, hash[:]).String(), "-", "_")
|
||||||
@@ -218,8 +163,6 @@ func isNameUuid(uuid string) bool {
|
|||||||
return strings.Contains(uuid, "_")
|
return strings.Contains(uuid, "_")
|
||||||
}
|
}
|
||||||
|
|
||||||
// var plugins_id sync.Map
|
|
||||||
|
|
||||||
func AddNodePlugin(path, name string) error {
|
func AddNodePlugin(path, name string) error {
|
||||||
if name == "" {
|
if name == "" {
|
||||||
return nil
|
return nil
|
||||||
@@ -277,10 +220,10 @@ func AddNodePlugin(path, name string) error {
|
|||||||
f.Handle = func(s common.Sender, f func(vm *goja.Runtime)) interface{} {
|
f.Handle = func(s common.Sender, f func(vm *goja.Runtime)) interface{} {
|
||||||
s.SetPluginID(uuid)
|
s.SetPluginID(uuid)
|
||||||
plt := s.GetImType()
|
plt := s.GetImType()
|
||||||
// , "/Users/a1-6/.nvm/versions/node/v18.16.1/lib/node_modules/ts-node/dist/bin.js",
|
|
||||||
cmd := exec.Command("./node", path)
|
cmd := exec.Command("./node", path)
|
||||||
cmd.Dir = utils.ExecPath + "/language/node"
|
cmd.Dir = utils.ExecPath + "/language/node"
|
||||||
// cmd := exec.Command(utils.ExecPath+"/language/node/node", path)
|
RUNTIME_ID := utils.GenUUID()
|
||||||
|
cmd.Env = append(cmd.Env, "RUNTIME_ID="+RUNTIME_ID)
|
||||||
cmd.Env = append(cmd.Env, "PLUGIN_ID="+uuid)
|
cmd.Env = append(cmd.Env, "PLUGIN_ID="+uuid)
|
||||||
// 获取标准输出和标准错误输出的管道
|
// 获取标准输出和标准错误输出的管道
|
||||||
stdout, err := cmd.StdoutPipe()
|
stdout, err := cmd.StdoutPipe()
|
||||||
@@ -327,15 +270,14 @@ func AddNodePlugin(path, name string) error {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
processes.Store(cmd, s)
|
processes.Store(cmd, s)
|
||||||
|
register := createSenderRegister(RUNTIME_ID)
|
||||||
if (plt) != "*" {
|
if (plt) != "*" {
|
||||||
id := s.SetID()
|
cmd.Env = append(cmd.Env, "SENDER_ID="+register(s))
|
||||||
cmd.Env = append(cmd.Env, "SENDER_ID="+id)
|
|
||||||
err = cmd.Start()
|
err = cmd.Start()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
||||||
}
|
}
|
||||||
senders.Store(id, s)
|
defer deleteSenderRegister(RUNTIME_ID)
|
||||||
defer senders.Delete(id)
|
|
||||||
defer processes.Delete(cmd)
|
defer processes.Delete(cmd)
|
||||||
err = cmd.Wait()
|
err = cmd.Wait()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -366,6 +308,7 @@ func AddNodePlugin(path, name string) error {
|
|||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
go func() {
|
go func() {
|
||||||
|
defer deleteSenderRegister(RUNTIME_ID)
|
||||||
defer processes.Delete(cmd)
|
defer processes.Delete(cmd)
|
||||||
err = cmd.Wait()
|
err = cmd.Wait()
|
||||||
}()
|
}()
|
||||||
@@ -387,18 +330,18 @@ func AddNodePlugin(path, name string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var typeat = `declare class Sender {
|
var typeat = `declare class Sender {
|
||||||
uuid: string;
|
private uuid;
|
||||||
private destoried;
|
private destoried;
|
||||||
constructor(uuid: string);
|
constructor(uuid: string);
|
||||||
destructor(): void;
|
destroy(): void;
|
||||||
getUserId(): Promise<string | undefined>;
|
getUserId(): Promise<string>;
|
||||||
getUserName(): Promise<string | undefined>;
|
getUserName(): Promise<string>;
|
||||||
getChatId(): Promise<string | undefined>;
|
getChatId(): Promise<string>;
|
||||||
getChatName(): Promise<string | undefined>;
|
getChatName(): Promise<string>;
|
||||||
getMessageId(): Promise<string | undefined>;
|
getMessageId(): Promise<string>;
|
||||||
getPlatform(): Promise<string | undefined>;
|
getPlatform(): Promise<string>;
|
||||||
getBotId(): Promise<string | undefined>;
|
getBotId(): Promise<string>;
|
||||||
getContent(): Promise<string | undefined>;
|
getContent(): Promise<string>;
|
||||||
param(key: number | string): Promise<string>;
|
param(key: number | string): Promise<string>;
|
||||||
setContent(content: string): Promise<undefined>;
|
setContent(content: string): Promise<undefined>;
|
||||||
continue(): Promise<undefined>;
|
continue(): Promise<undefined>;
|
||||||
@@ -415,15 +358,14 @@ var typeat = `declare class Sender {
|
|||||||
prohibit_groups?: string[];
|
prohibit_groups?: string[];
|
||||||
allow_users?: string[];
|
allow_users?: string[];
|
||||||
prohibit_users?: string[];
|
prohibit_users?: string[];
|
||||||
persistent?: boolean;
|
|
||||||
}): Promise<Sender | undefined>;
|
}): Promise<Sender | undefined>;
|
||||||
holdOn(str: string): string;
|
holdOn(str: string): string;
|
||||||
reply(content: string): Promise<string | undefined>;
|
reply(content: string): Promise<string>;
|
||||||
action(options: any): Promise<any | undefined>;
|
doAction(options: Record<string, any>): Promise<any>;
|
||||||
event(): Promise<any | undefined>;
|
getEvent(): Promise<Record<string, any>>;
|
||||||
}
|
}
|
||||||
declare class Bucket {
|
declare class Bucket {
|
||||||
name: string;
|
private name;
|
||||||
constructor(name: string);
|
constructor(name: string);
|
||||||
transform(v: string | undefined): string | number | boolean | undefined;
|
transform(v: string | undefined): string | number | boolean | undefined;
|
||||||
reverseTransform(value: any): string;
|
reverseTransform(value: any): string;
|
||||||
@@ -432,19 +374,19 @@ declare class Bucket {
|
|||||||
message?: string;
|
message?: string;
|
||||||
changed?: boolean;
|
changed?: boolean;
|
||||||
}>;
|
}>;
|
||||||
getAll(): Promise<any>;
|
getAll(): Promise<Record<string, any>>;
|
||||||
delete(key: string): Promise<{
|
delete(key: string): Promise<{
|
||||||
message?: string | undefined;
|
message?: string;
|
||||||
changed?: boolean | undefined;
|
changed?: boolean;
|
||||||
}>;
|
}>;
|
||||||
deleteAll(): Promise<undefined>;
|
deleteAll(): Promise<undefined>;
|
||||||
keys(): Promise<string[] | undefined>;
|
keys(): Promise<string[]>;
|
||||||
len(): Promise<number | undefined>;
|
len(): Promise<number>;
|
||||||
buckets(): Promise<string[] | undefined>;
|
buckets(): Promise<string[]>;
|
||||||
watch(key: string, handle: (old: any, now: any, key: string) => StorageFinal | void | any): void;
|
watch(key: string, handle: (old: any, now: any, key: string) => StorageModifier | void): void;
|
||||||
_name(): Promise<string>;
|
getName(): Promise<string>;
|
||||||
}
|
}
|
||||||
interface StorageFinal {
|
interface StorageModifier {
|
||||||
echo?: string;
|
echo?: string;
|
||||||
now?: any;
|
now?: any;
|
||||||
message?: string;
|
message?: string;
|
||||||
@@ -459,28 +401,31 @@ interface Message {
|
|||||||
chat_name?: string;
|
chat_name?: string;
|
||||||
}
|
}
|
||||||
declare class Adapter {
|
declare class Adapter {
|
||||||
platform: string | undefined;
|
platform: string;
|
||||||
bot_id: string | undefined;
|
bot_id: string;
|
||||||
call: any;
|
call: any;
|
||||||
constructor(options: {
|
constructor(options: {
|
||||||
platform?: string;
|
platform: string;
|
||||||
bot_id?: string;
|
bot_id: string;
|
||||||
replyHandler?: (message: Message) => string | undefined | Promise<string | undefined>;
|
replyHandler?: (message: Message) => Promise<string | undefined>;
|
||||||
actionHandler?: (message: Message) => string | undefined | Promise<string | undefined>;
|
actionHandler?: (message: Message) => Promise<string | undefined>;
|
||||||
});
|
});
|
||||||
setActionHandler(func: (action: {}) => any): void;
|
receive(message: Message): Promise<undefined>;
|
||||||
receive(message: Message): Promise<Sender>;
|
|
||||||
push(message: Message): Promise<string>;
|
push(message: Message): Promise<string>;
|
||||||
destroy(): Promise<void>;
|
destroy(): Promise<void>;
|
||||||
sender(options: any): Promise<Sender>;
|
sender(options: any): Promise<Sender>;
|
||||||
}
|
}
|
||||||
declare let sender: Sender;
|
declare let sender: Sender;
|
||||||
declare function sleep(ms: number | undefined): Promise<unknown>;
|
declare function sleep(ms?: number): Promise<unknown>;
|
||||||
interface CQItem {
|
interface CQItem {
|
||||||
type: string;
|
type: string;
|
||||||
params: {};
|
params: Record<string, string>;
|
||||||
|
}
|
||||||
|
interface CQParams {
|
||||||
|
[key: string]: string | number | boolean;
|
||||||
}
|
}
|
||||||
declare let utils: {
|
declare let utils: {
|
||||||
|
buildCQTag: (type: string, params: CQParams, prefix?: string) => string;
|
||||||
parseCQText: (text: string, prefix?: string) => (string | CQItem)[];
|
parseCQText: (text: string, prefix?: string) => (string | CQItem)[];
|
||||||
};
|
};
|
||||||
declare let console: {
|
declare let console: {
|
||||||
@@ -489,7 +434,8 @@ declare let console: {
|
|||||||
error(...args: any[]): void;
|
error(...args: any[]): void;
|
||||||
debug(...args: any[]): void;
|
debug(...args: any[]): void;
|
||||||
};
|
};
|
||||||
export { Adapter, Bucket, sender, sleep, utils, console };`
|
export { Adapter, Bucket, sender, sleep, utils, console };
|
||||||
|
`
|
||||||
|
|
||||||
func defaultScript(title string) string {
|
func defaultScript(title string) string {
|
||||||
create_at := time.Now().Format("2006-01-02 15:04:05")
|
create_at := time.Now().Format("2006-01-02 15:04:05")
|
||||||
@@ -501,5 +447,5 @@ func defaultScript(title string) string {
|
|||||||
* @version v1.0.0
|
* @version v1.0.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const { sender: s, Bucket, Adapter, sleep } = require("sillygirl");`
|
const { sender: s, Bucket, Adapter, sleep, utils, console } = require("sillygirl");`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,102 @@
|
|||||||
|
package core
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"sync"
|
||||||
|
|
||||||
|
"github.com/cdle/sillyplus/core/common"
|
||||||
|
"github.com/cdle/sillyplus/utils"
|
||||||
|
"google.golang.org/grpc/metadata"
|
||||||
|
)
|
||||||
|
|
||||||
|
var senderRegisters sync.Map
|
||||||
|
|
||||||
|
func getRegisterSenderByCtx(ctx context.Context, uuid string) (common.Sender, error) {
|
||||||
|
md, ok := metadata.FromIncomingContext(ctx)
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("missing metadata")
|
||||||
|
}
|
||||||
|
runtimeID := md.Get("RUNTIME_ID")
|
||||||
|
if runtimeID == nil {
|
||||||
|
return nil, fmt.Errorf("missing runtime_id")
|
||||||
|
}
|
||||||
|
runtime_id := runtimeID[0]
|
||||||
|
return getRegisterSender(runtime_id, uuid)
|
||||||
|
}
|
||||||
|
|
||||||
|
func getRegisterSender(runtime_id, uuid string) (common.Sender, error) {
|
||||||
|
if uuid == "" {
|
||||||
|
return &CustomSender{
|
||||||
|
F: &Factory{
|
||||||
|
botid: "default",
|
||||||
|
botplt: "*",
|
||||||
|
},
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
var sm *sync.Map
|
||||||
|
v, ok := senderRegisters.Load(runtime_id)
|
||||||
|
if ok {
|
||||||
|
sm = v.(*sync.Map)
|
||||||
|
v, ok := sm.Load(uuid)
|
||||||
|
if ok {
|
||||||
|
return v.(common.Sender), nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil, errors.New("NOT FOUND SENDER")
|
||||||
|
}
|
||||||
|
|
||||||
|
func createSenderRegister(runtime_id string) func(common.Sender) string {
|
||||||
|
var sm = new(sync.Map)
|
||||||
|
senderRegisters.Store(runtime_id, sm)
|
||||||
|
return func(s common.Sender) string {
|
||||||
|
uuid := utils.GenUUID()
|
||||||
|
sm.Store(uuid, s)
|
||||||
|
return uuid
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func getSenderRegister(runtime_id string) (func(common.Sender) string, error) {
|
||||||
|
var sm *sync.Map
|
||||||
|
v, ok := senderRegisters.Load(runtime_id)
|
||||||
|
if !ok {
|
||||||
|
return nil, errors.New("INVALID RUNTIME")
|
||||||
|
|
||||||
|
}
|
||||||
|
sm = v.(*sync.Map)
|
||||||
|
return func(s common.Sender) string {
|
||||||
|
uuid := utils.GenUUID()
|
||||||
|
sm.Store(uuid, s)
|
||||||
|
return uuid
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func deleteSenderRegister(runtime_id string) {
|
||||||
|
v, ok := senderRegisters.Load(runtime_id)
|
||||||
|
if ok {
|
||||||
|
sm := v.(*sync.Map)
|
||||||
|
sm.Range(func(key, value any) bool {
|
||||||
|
fmt.Println(key)
|
||||||
|
sm.Delete(key)
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
senderRegisters.Delete(runtime_id)
|
||||||
|
}
|
||||||
|
|
||||||
|
func getSenderRegisterByCtx(ctx context.Context) (string, func(common.Sender) string, error) {
|
||||||
|
var senderRegister func(common.Sender) string
|
||||||
|
md, ok := metadata.FromIncomingContext(ctx)
|
||||||
|
if !ok {
|
||||||
|
return "", senderRegister, fmt.Errorf("missing metadata")
|
||||||
|
}
|
||||||
|
runtimeID := md.Get("RUNTIME_ID")
|
||||||
|
if runtimeID == nil {
|
||||||
|
return "", senderRegister, fmt.Errorf("missing runtime_id")
|
||||||
|
}
|
||||||
|
runtime_id := runtimeID[0]
|
||||||
|
f, err := getSenderRegister(runtime_id)
|
||||||
|
return runtime_id, f, err
|
||||||
|
}
|
||||||
+34
-55
@@ -3,7 +3,6 @@ package core
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -15,41 +14,8 @@ import (
|
|||||||
"github.com/cdle/sillyplus/utils"
|
"github.com/cdle/sillyplus/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var senders sync.Map
|
|
||||||
|
|
||||||
// func init() {
|
|
||||||
// //垃圾回收
|
|
||||||
// go func() {
|
|
||||||
// for {
|
|
||||||
// time.Sleep(time.Minute)
|
|
||||||
// senders.Range(func(key, value any) bool {
|
|
||||||
// s := value.(common.Sender)
|
|
||||||
// if s.GetTime().Add(time.Minute * 20).Before(time.Now()) {
|
|
||||||
// senders.Delete(s.GetID())
|
|
||||||
// }
|
|
||||||
// return true
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
// }()
|
|
||||||
// }
|
|
||||||
|
|
||||||
func GetSender(uuid string) (common.Sender, error) {
|
|
||||||
if uuid == "" {
|
|
||||||
return &CustomSender{
|
|
||||||
F: &Factory{
|
|
||||||
botid: "*",
|
|
||||||
},
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
v, ok := senders.Load(uuid)
|
|
||||||
if !ok {
|
|
||||||
return nil, errors.New("not found sender")
|
|
||||||
}
|
|
||||||
return v.(common.Sender), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderGetUserId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderGetUserId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -57,7 +23,7 @@ func (sg *SillyGirlService) SenderGetUserId(ctx context.Context, req *srpc.Sende
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderGetUserName(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderGetUserName(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -65,7 +31,7 @@ func (sg *SillyGirlService) SenderGetUserName(ctx context.Context, req *srpc.Sen
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderGetChatId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderGetChatId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -73,7 +39,7 @@ func (sg *SillyGirlService) SenderGetChatId(ctx context.Context, req *srpc.Sende
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderGetChatName(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderGetChatName(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -81,7 +47,7 @@ func (sg *SillyGirlService) SenderGetChatName(ctx context.Context, req *srpc.Sen
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderGetMessageId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderGetMessageId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -89,7 +55,7 @@ func (sg *SillyGirlService) SenderGetMessageId(ctx context.Context, req *srpc.Se
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderGetPlatform(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderGetPlatform(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -97,7 +63,7 @@ func (sg *SillyGirlService) SenderGetPlatform(ctx context.Context, req *srpc.Sen
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderGetBotId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderGetBotId(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -105,7 +71,7 @@ func (sg *SillyGirlService) SenderGetBotId(ctx context.Context, req *srpc.Sender
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderGetContent(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderGetContent(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -113,7 +79,7 @@ func (sg *SillyGirlService) SenderGetContent(ctx context.Context, req *srpc.Send
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderSetContent(ctx context.Context, req *srpc.SenderContentRequest) (*srpc.Empty, error) {
|
func (sg *SillyGirlService) SenderSetContent(ctx context.Context, req *srpc.SenderContentRequest) (*srpc.Empty, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -122,7 +88,7 @@ func (sg *SillyGirlService) SenderSetContent(ctx context.Context, req *srpc.Send
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderContinue(ctx context.Context, req *srpc.SenderRequest) (*srpc.Empty, error) {
|
func (sg *SillyGirlService) SenderContinue(ctx context.Context, req *srpc.SenderRequest) (*srpc.Empty, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -132,13 +98,17 @@ func (sg *SillyGirlService) SenderContinue(ctx context.Context, req *srpc.Sender
|
|||||||
|
|
||||||
// todo
|
// todo
|
||||||
func (sg *SillyGirlService) SenderListen(stream srpc.SillyGirlService_SenderListenServer) error {
|
func (sg *SillyGirlService) SenderListen(stream srpc.SillyGirlService_SenderListenServer) error {
|
||||||
|
runtime_id, register, err := getSenderRegisterByCtx(stream.Context())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
// fmt.Println(runtime_id)
|
||||||
var carry *Carry
|
var carry *Carry
|
||||||
var echos sync.Map
|
var echos sync.Map
|
||||||
var persistent bool
|
var persistent bool
|
||||||
// defer fmt.Println("已关闭,", "===")
|
// defer fmt.Println("已关闭,", "===")
|
||||||
for {
|
for {
|
||||||
req, err := stream.Recv()
|
req, err := stream.Recv()
|
||||||
|
|
||||||
// fmt.Println("carry", carry, err)
|
// fmt.Println("carry", carry, err)
|
||||||
if err == io.EOF {
|
if err == io.EOF {
|
||||||
break // 如果流已经关闭,则退出循环
|
break // 如果流已经关闭,则退出循环
|
||||||
@@ -146,7 +116,9 @@ func (sg *SillyGirlService) SenderListen(stream srpc.SillyGirlService_SenderList
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if carry != nil {
|
if carry != nil {
|
||||||
|
// fmt.Println("已监听,", req)
|
||||||
// fmt.Println("req.Uuid", req.Uuid)
|
// fmt.Println("req.Uuid", req.Uuid)
|
||||||
echo := req.GetUuid()
|
echo := req.GetUuid()
|
||||||
value := req.GetValue()
|
value := req.GetValue()
|
||||||
@@ -163,7 +135,8 @@ func (sg *SillyGirlService) SenderListen(stream srpc.SillyGirlService_SenderList
|
|||||||
// }
|
// }
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSender(runtime_id, req.Uuid)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -195,6 +168,12 @@ func (sg *SillyGirlService) SenderListen(stream srpc.SillyGirlService_SenderList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if carry.AllowPlatforms == nil {
|
||||||
|
plt := s.GetImType()
|
||||||
|
if plt != "*" {
|
||||||
|
carry.AllowPlatforms = []string{plt}
|
||||||
|
}
|
||||||
|
}
|
||||||
options = append(options, carry)
|
options = append(options, carry)
|
||||||
if req.Persistent {
|
if req.Persistent {
|
||||||
persistent = req.Persistent
|
persistent = req.Persistent
|
||||||
@@ -204,13 +183,15 @@ func (sg *SillyGirlService) SenderListen(stream srpc.SillyGirlService_SenderList
|
|||||||
stream.Send(&srpc.SenderListenResponse{Echo: ""})
|
stream.Send(&srpc.SenderListenResponse{Echo: ""})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
level := s.GetLevel()
|
||||||
|
|
||||||
go s.Await(s, func(s common.Sender) interface{} {
|
go s.Await(s, func(s common.Sender) interface{} {
|
||||||
id := s.SetID()
|
s.SetLevel(level + 1)
|
||||||
echo := utils.GenUUID()
|
echo := utils.GenUUID()
|
||||||
ch := make(chan string)
|
ch := make(chan string)
|
||||||
echos.Store(echo, ch)
|
echos.Store(echo, ch)
|
||||||
defer echos.Delete(echo)
|
defer echos.Delete(echo)
|
||||||
stream.Send(&srpc.SenderListenResponse{Echo: echo, Uuid: id})
|
stream.Send(&srpc.SenderListenResponse{Echo: echo, Uuid: register(s)})
|
||||||
value := <-ch
|
value := <-ch
|
||||||
if !persistent {
|
if !persistent {
|
||||||
if strings.HasPrefix(value, "go_again_") {
|
if strings.HasPrefix(value, "go_again_") {
|
||||||
@@ -220,7 +201,6 @@ func (sg *SillyGirlService) SenderListen(stream srpc.SillyGirlService_SenderList
|
|||||||
stream.Send(&srpc.SenderListenResponse{Echo: "END"})
|
stream.Send(&srpc.SenderListenResponse{Echo: "END"})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
defer senders.Delete(id)
|
|
||||||
value = strings.Replace(value, "go_again_", "", 1)
|
value = strings.Replace(value, "go_again_", "", 1)
|
||||||
}
|
}
|
||||||
return value
|
return value
|
||||||
@@ -230,7 +210,7 @@ func (sg *SillyGirlService) SenderListen(stream srpc.SillyGirlService_SenderList
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderEvent(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderEvent(ctx context.Context, req *srpc.SenderRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -238,7 +218,7 @@ func (sg *SillyGirlService) SenderEvent(ctx context.Context, req *srpc.SenderReq
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderReply(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderReply(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -247,7 +227,7 @@ func (sg *SillyGirlService) SenderReply(ctx context.Context, req *srpc.ReplyRequ
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderParam(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderParam(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -262,10 +242,11 @@ func (sg *SillyGirlService) SenderParam(ctx context.Context, req *srpc.ReplyRequ
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderAction(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Default, error) {
|
func (sg *SillyGirlService) SenderAction(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Default, error) {
|
||||||
s, err := GetSender(req.Uuid)
|
s, err := getRegisterSenderByCtx(ctx, req.Uuid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var params = map[string]interface{}{}
|
var params = map[string]interface{}{}
|
||||||
err = json.Unmarshal([]byte(req.Content), ¶ms)
|
err = json.Unmarshal([]byte(req.Content), ¶ms)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -276,7 +257,5 @@ func (sg *SillyGirlService) SenderAction(ctx context.Context, req *srpc.ReplyReq
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sg *SillyGirlService) SenderDestroy(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Empty, error) {
|
func (sg *SillyGirlService) SenderDestroy(ctx context.Context, req *srpc.ReplyRequest) (*srpc.Empty, error) {
|
||||||
// fmt.Println("删除", req.Uuid)
|
|
||||||
senders.Delete(req.Uuid)
|
|
||||||
return &srpc.Empty{}, nil
|
return &srpc.Empty{}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,6 +71,10 @@ func main() {
|
|||||||
fmt.Printf("\x1b[%dm%s \x1b[0m\n", 31, m[core.CONETNT])
|
fmt.Printf("\x1b[%dm%s \x1b[0m\n", 31, m[core.CONETNT])
|
||||||
return ""
|
return ""
|
||||||
})
|
})
|
||||||
|
// a.SetActionHandler(func(m map[string]interface{}) string {
|
||||||
|
// fmt.Println("action", m)
|
||||||
|
// return `{"a":"a"}`
|
||||||
|
// })
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
data := scanner.Text()
|
data := scanner.Text()
|
||||||
s := &core.CustomSender{
|
s := &core.CustomSender{
|
||||||
|
|||||||
Vendored
+36
-34
@@ -1,16 +1,16 @@
|
|||||||
declare class Sender {
|
declare class Sender {
|
||||||
uuid: string;
|
private uuid;
|
||||||
private destoried;
|
private destoried;
|
||||||
constructor(uuid: string);
|
constructor(uuid: string);
|
||||||
destructor(): void;
|
destroy(): void;
|
||||||
getUserId(): Promise<string | undefined>;
|
getUserId(): Promise<string>;
|
||||||
getUserName(): Promise<string | undefined>;
|
getUserName(): Promise<string>;
|
||||||
getChatId(): Promise<string | undefined>;
|
getChatId(): Promise<string>;
|
||||||
getChatName(): Promise<string | undefined>;
|
getChatName(): Promise<string>;
|
||||||
getMessageId(): Promise<string | undefined>;
|
getMessageId(): Promise<string>;
|
||||||
getPlatform(): Promise<string | undefined>;
|
getPlatform(): Promise<string>;
|
||||||
getBotId(): Promise<string | undefined>;
|
getBotId(): Promise<string>;
|
||||||
getContent(): Promise<string | undefined>;
|
getContent(): Promise<string>;
|
||||||
param(key: number | string): Promise<string>;
|
param(key: number | string): Promise<string>;
|
||||||
setContent(content: string): Promise<undefined>;
|
setContent(content: string): Promise<undefined>;
|
||||||
continue(): Promise<undefined>;
|
continue(): Promise<undefined>;
|
||||||
@@ -27,15 +27,14 @@ declare class Sender {
|
|||||||
prohibit_groups?: string[];
|
prohibit_groups?: string[];
|
||||||
allow_users?: string[];
|
allow_users?: string[];
|
||||||
prohibit_users?: string[];
|
prohibit_users?: string[];
|
||||||
persistent?: boolean;
|
|
||||||
}): Promise<Sender | undefined>;
|
}): Promise<Sender | undefined>;
|
||||||
holdOn(str: string): string;
|
holdOn(str: string): string;
|
||||||
reply(content: string): Promise<string | undefined>;
|
reply(content: string): Promise<string>;
|
||||||
action(options: any): Promise<any | undefined>;
|
doAction(options: Record<string, any>): Promise<any>;
|
||||||
event(): Promise<any | undefined>;
|
getEvent(): Promise<Record<string, any>>;
|
||||||
}
|
}
|
||||||
declare class Bucket {
|
declare class Bucket {
|
||||||
name: string;
|
private name;
|
||||||
constructor(name: string);
|
constructor(name: string);
|
||||||
transform(v: string | undefined): string | number | boolean | undefined;
|
transform(v: string | undefined): string | number | boolean | undefined;
|
||||||
reverseTransform(value: any): string;
|
reverseTransform(value: any): string;
|
||||||
@@ -44,19 +43,19 @@ declare class Bucket {
|
|||||||
message?: string;
|
message?: string;
|
||||||
changed?: boolean;
|
changed?: boolean;
|
||||||
}>;
|
}>;
|
||||||
getAll(): Promise<any>;
|
getAll(): Promise<Record<string, any>>;
|
||||||
delete(key: string): Promise<{
|
delete(key: string): Promise<{
|
||||||
message?: string | undefined;
|
message?: string;
|
||||||
changed?: boolean | undefined;
|
changed?: boolean;
|
||||||
}>;
|
}>;
|
||||||
deleteAll(): Promise<undefined>;
|
deleteAll(): Promise<undefined>;
|
||||||
keys(): Promise<string[] | undefined>;
|
keys(): Promise<string[]>;
|
||||||
len(): Promise<number | undefined>;
|
len(): Promise<number>;
|
||||||
buckets(): Promise<string[] | undefined>;
|
buckets(): Promise<string[]>;
|
||||||
watch(key: string, handle: (old: any, now: any, key: string) => StorageFinal | void | any): void;
|
watch(key: string, handle: (old: any, now: any, key: string) => StorageModifier | void): void;
|
||||||
_name(): Promise<string>;
|
getName(): Promise<string>;
|
||||||
}
|
}
|
||||||
interface StorageFinal {
|
interface StorageModifier {
|
||||||
echo?: string;
|
echo?: string;
|
||||||
now?: any;
|
now?: any;
|
||||||
message?: string;
|
message?: string;
|
||||||
@@ -71,28 +70,31 @@ interface Message {
|
|||||||
chat_name?: string;
|
chat_name?: string;
|
||||||
}
|
}
|
||||||
declare class Adapter {
|
declare class Adapter {
|
||||||
platform: string | undefined;
|
platform: string;
|
||||||
bot_id: string | undefined;
|
bot_id: string;
|
||||||
call: any;
|
call: any;
|
||||||
constructor(options: {
|
constructor(options: {
|
||||||
platform?: string;
|
platform: string;
|
||||||
bot_id?: string;
|
bot_id: string;
|
||||||
replyHandler?: (message: Message) => string | undefined | Promise<string | undefined>;
|
replyHandler?: (message: Message) => Promise<string | undefined>;
|
||||||
actionHandler?: (message: Message) => string | undefined | Promise<string | undefined>;
|
actionHandler?: (message: Message) => Promise<string | undefined>;
|
||||||
});
|
});
|
||||||
setActionHandler(func: (action: {}) => any): void;
|
receive(message: Message): Promise<undefined>;
|
||||||
receive(message: Message): Promise<Sender>;
|
|
||||||
push(message: Message): Promise<string>;
|
push(message: Message): Promise<string>;
|
||||||
destroy(): Promise<void>;
|
destroy(): Promise<void>;
|
||||||
sender(options: any): Promise<Sender>;
|
sender(options: any): Promise<Sender>;
|
||||||
}
|
}
|
||||||
declare let sender: Sender;
|
declare let sender: Sender;
|
||||||
declare function sleep(ms: number | undefined): Promise<unknown>;
|
declare function sleep(ms?: number): Promise<unknown>;
|
||||||
interface CQItem {
|
interface CQItem {
|
||||||
type: string;
|
type: string;
|
||||||
params: {};
|
params: Record<string, string>;
|
||||||
|
}
|
||||||
|
interface CQParams {
|
||||||
|
[key: string]: string | number | boolean;
|
||||||
}
|
}
|
||||||
declare let utils: {
|
declare let utils: {
|
||||||
|
buildCQTag: (type: string, params: CQParams, prefix?: string) => string;
|
||||||
parseCQText: (text: string, prefix?: string) => (string | CQItem)[];
|
parseCQText: (text: string, prefix?: string) => (string | CQItem)[];
|
||||||
};
|
};
|
||||||
declare let console: {
|
declare let console: {
|
||||||
|
|||||||
+114
-92
@@ -26,14 +26,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
exports.console = exports.utils = exports.sleep = exports.sender = exports.Bucket = exports.Adapter = void 0;
|
exports.console = exports.utils = exports.sleep = exports.sender = exports.Bucket = exports.Adapter = void 0;
|
||||||
const srpc_1 = require("./srpc");
|
const srpc_1 = require("./srpc");
|
||||||
const grpc_1 = __importStar(require("@grpc/grpc-js"));
|
const grpc_1 = __importStar(require("@grpc/grpc-js"));
|
||||||
|
const util_1 = require("util");
|
||||||
|
grpc_1.setLogVerbosity(grpc_1.logVerbosity.NONE);
|
||||||
let client = new srpc_1.srpc.SillyGirlServiceClient("localhost:50051", grpc_1.credentials.createInsecure());
|
let client = new srpc_1.srpc.SillyGirlServiceClient("localhost:50051", grpc_1.credentials.createInsecure());
|
||||||
let senders = [];
|
let senders = [];
|
||||||
let plugin_id = process.env?.PLUGIN_ID ?? "";
|
let plugin_id = process.env?.PLUGIN_ID ?? "";
|
||||||
process.on("beforeExit", () => {
|
const metadata = new grpc_1.Metadata();
|
||||||
for (let sender of senders) {
|
metadata.add("RUNTIME_ID", process.env?.RUNTIME_ID ?? "");
|
||||||
sender.destructor();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
class Sender {
|
class Sender {
|
||||||
uuid;
|
uuid;
|
||||||
destoried = false;
|
destoried = false;
|
||||||
@@ -41,22 +40,22 @@ class Sender {
|
|||||||
this.uuid = uuid;
|
this.uuid = uuid;
|
||||||
senders.push(this);
|
senders.push(this);
|
||||||
}
|
}
|
||||||
destructor() {
|
destroy() {
|
||||||
if (this.destoried)
|
if (this.destoried)
|
||||||
return;
|
return;
|
||||||
this.destoried = true;
|
this.destoried = true;
|
||||||
client.SenderDestroy(new srpc_1.srpc.ReplyRequest({ uuid: sender.uuid }), (err, resp) => { });
|
client.SenderDestroy(new srpc_1.srpc.ReplyRequest({ uuid: sender.uuid }), metadata, (err, resp) => { });
|
||||||
}
|
}
|
||||||
async getUserId() {
|
async getUserId() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetUserId(new srpc_1.srpc.SenderRequest({
|
client.SenderGetUserId(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -65,12 +64,12 @@ class Sender {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetUserName(new srpc_1.srpc.SenderRequest({
|
client.SenderGetUserName(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -79,12 +78,12 @@ class Sender {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetChatId(new srpc_1.srpc.SenderRequest({
|
client.SenderGetChatId(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -93,12 +92,12 @@ class Sender {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetChatName(new srpc_1.srpc.SenderRequest({
|
client.SenderGetChatName(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -107,12 +106,12 @@ class Sender {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetMessageId(new srpc_1.srpc.SenderRequest({
|
client.SenderGetMessageId(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -121,12 +120,12 @@ class Sender {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetPlatform(new srpc_1.srpc.SenderRequest({
|
client.SenderGetPlatform(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -135,12 +134,12 @@ class Sender {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetBotId(new srpc_1.srpc.SenderRequest({
|
client.SenderGetBotId(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -149,12 +148,12 @@ class Sender {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetContent(new srpc_1.srpc.SenderRequest({
|
client.SenderGetContent(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -164,7 +163,7 @@ class Sender {
|
|||||||
client.SenderParam(new srpc_1.srpc.ReplyRequest({
|
client.SenderParam(new srpc_1.srpc.ReplyRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
content: `${key}`,
|
content: `${key}`,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
@@ -179,7 +178,7 @@ class Sender {
|
|||||||
client.SenderSetContent(new srpc_1.srpc.SenderContentRequest({
|
client.SenderSetContent(new srpc_1.srpc.SenderContentRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
content,
|
content,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
@@ -193,7 +192,7 @@ class Sender {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderContinue(new srpc_1.srpc.SenderRequest({
|
client.SenderContinue(new srpc_1.srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
@@ -217,21 +216,18 @@ class Sender {
|
|||||||
timeout: options?.timeout,
|
timeout: options?.timeout,
|
||||||
listen_private: options?.listen_private,
|
listen_private: options?.listen_private,
|
||||||
listen_group: options?.listen_group,
|
listen_group: options?.listen_group,
|
||||||
allow_platforms: options?.allow_platforms,
|
allow_platforms: options?.allow_platforms ?? [],
|
||||||
prohibit_platforms: options?.prohibit_platforms,
|
prohibit_platforms: options?.prohibit_platforms ?? [],
|
||||||
allow_groups: options?.allow_groups,
|
allow_groups: options?.allow_groups,
|
||||||
prohibit_groups: options?.prohibit_groups,
|
prohibit_groups: options?.prohibit_groups,
|
||||||
allow_users: options?.allow_users,
|
allow_users: options?.allow_users,
|
||||||
prohibit_users: options?.prohibit_users,
|
prohibit_users: options?.prohibit_users,
|
||||||
persistent: options?.persistent,
|
|
||||||
plugin_id,
|
plugin_id,
|
||||||
};
|
};
|
||||||
if (!this.uuid) {
|
if (!this.uuid) {
|
||||||
params.persistent = true;
|
params.persistent = true;
|
||||||
}
|
}
|
||||||
const call = client.SenderListen();
|
const call = client.SenderListen(metadata);
|
||||||
// let callback: any = options.replyHandler;
|
|
||||||
// console.log("===",this.uuid)
|
|
||||||
call.on("data", (response) => {
|
call.on("data", (response) => {
|
||||||
if (response.echo == "END") {
|
if (response.echo == "END") {
|
||||||
call.cancel();
|
call.cancel();
|
||||||
@@ -239,7 +235,7 @@ class Sender {
|
|||||||
}
|
}
|
||||||
let s = response.uuid ? new Sender(response.uuid) : undefined;
|
let s = response.uuid ? new Sender(response.uuid) : undefined;
|
||||||
if (options?.handle && s) {
|
if (options?.handle && s) {
|
||||||
// console.log(`options?.handle`, options.persistent)
|
try {
|
||||||
let obj = options?.handle(s);
|
let obj = options?.handle(s);
|
||||||
if (typeof obj == "string") {
|
if (typeof obj == "string") {
|
||||||
call.write(new srpc_1.srpc.SenderListenRequest({
|
call.write(new srpc_1.srpc.SenderListenRequest({
|
||||||
@@ -256,6 +252,7 @@ class Sender {
|
|||||||
}));
|
}));
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
call.write(new srpc_1.srpc.SenderListenRequest({
|
call.write(new srpc_1.srpc.SenderListenRequest({
|
||||||
uuid: response.echo,
|
uuid: response.echo,
|
||||||
value: "",
|
value: "",
|
||||||
@@ -268,45 +265,24 @@ class Sender {
|
|||||||
value: "",
|
value: "",
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
// console.log(`options?.handle`, options.persistent)
|
}
|
||||||
|
catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// console.log(`call.cancel()`, options?.persistent)
|
|
||||||
call.write(new srpc_1.srpc.SenderListenRequest({
|
call.write(new srpc_1.srpc.SenderListenRequest({
|
||||||
uuid: response.echo,
|
uuid: response.echo,
|
||||||
value: "",
|
value: "",
|
||||||
}));
|
}));
|
||||||
// console.log(`call.cancel()`, options?.persistent)
|
|
||||||
}
|
}
|
||||||
// console.log("response", JSON.stringify(response));
|
|
||||||
// call.cancel()
|
|
||||||
resolve(s);
|
resolve(s);
|
||||||
});
|
});
|
||||||
call.on("error", (err) => {
|
call.on("error", (err) => {
|
||||||
reject(err);
|
reject(err);
|
||||||
// console.error(err);
|
|
||||||
});
|
});
|
||||||
// console.log("params", JSON.stringify(params));
|
|
||||||
call.write(new srpc_1.srpc.SenderListenRequest(params));
|
call.write(new srpc_1.srpc.SenderListenRequest(params));
|
||||||
}
|
});
|
||||||
// client.SenderListen(new srpc.SenderListenRequest(params), (err, resp) => {
|
|
||||||
// if (err) {
|
|
||||||
// reject(err);
|
|
||||||
// } else {
|
|
||||||
// if (resp?.value) {
|
|
||||||
// let handle = options?.handle;
|
|
||||||
// let s = new Sender(resp.value);
|
|
||||||
// resolve(s);
|
|
||||||
// if (handle) {
|
|
||||||
// handle(s);
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// reject(new Error("timeout"));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
holdOn(str) {
|
holdOn(str) {
|
||||||
return "go_again_" + str;
|
return "go_again_" + str;
|
||||||
@@ -316,33 +292,48 @@ class Sender {
|
|||||||
client.SenderReply(new srpc_1.srpc.ReplyRequest({
|
client.SenderReply(new srpc_1.srpc.ReplyRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
content,
|
content,
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async action(options) {
|
async doAction(options) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
console.log({
|
||||||
|
uuid: this.uuid,
|
||||||
|
content: JSON.stringify(options),
|
||||||
|
});
|
||||||
client.SenderAction(new srpc_1.srpc.ReplyRequest({
|
client.SenderAction(new srpc_1.srpc.ReplyRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
content: JSON.stringify(options),
|
content: JSON.stringify(options),
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.value);
|
resolve(JSON.parse(resp?.value ?? "{}"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async event() {
|
async getEvent() {
|
||||||
return;
|
return new Promise((resolve, reject) => {
|
||||||
|
client.SenderEvent(new srpc_1.srpc.SenderRequest({
|
||||||
|
uuid: this.uuid,
|
||||||
|
}), metadata, (err, resp) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
resolve(JSON.parse(resp?.value ?? "{}"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class Bucket {
|
class Bucket {
|
||||||
@@ -471,7 +462,7 @@ class Bucket {
|
|||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.keys);
|
resolve(resp?.keys ?? []);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -483,7 +474,7 @@ class Bucket {
|
|||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.length);
|
resolve(resp?.length ?? 0);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -495,7 +486,7 @@ class Bucket {
|
|||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
resolve(resp?.buckets);
|
resolve(resp?.buckets ?? []);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -504,7 +495,12 @@ class Bucket {
|
|||||||
const call = client.BucketWatch();
|
const call = client.BucketWatch();
|
||||||
call.on("data", async (response) => {
|
call.on("data", async (response) => {
|
||||||
let fin = handle(this.transform(response.old), this.transform(response.now), response.key);
|
let fin = handle(this.transform(response.old), this.transform(response.now), response.key);
|
||||||
|
try {
|
||||||
fin = await fin;
|
fin = await fin;
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
let result = {
|
let result = {
|
||||||
echo: response.echo,
|
echo: response.echo,
|
||||||
};
|
};
|
||||||
@@ -527,7 +523,7 @@ class Bucket {
|
|||||||
plugin_id,
|
plugin_id,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
async _name() {
|
async getName() {
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -540,46 +536,47 @@ class Adapter {
|
|||||||
this.platform = options.platform;
|
this.platform = options.platform;
|
||||||
this.bot_id = options.bot_id;
|
this.bot_id = options.bot_id;
|
||||||
if (options.replyHandler) {
|
if (options.replyHandler) {
|
||||||
const call = client.AdapterRegist();
|
const call = client.AdapterRegist(metadata);
|
||||||
// let callback: any = ;
|
|
||||||
call.on("data", async (response) => {
|
call.on("data", async (response) => {
|
||||||
// console.log("start on data")
|
|
||||||
let message = JSON.parse(response.value);
|
let message = JSON.parse(response.value);
|
||||||
const { echo, __type__ } = message;
|
const { echo, __type__ } = message;
|
||||||
delete message.__type__;
|
delete message.__type__;
|
||||||
delete message.echo;
|
delete message.echo;
|
||||||
if (__type__ == "reply" && options.replyHandler) {
|
if (__type__ == "reply" && options.replyHandler) {
|
||||||
|
try {
|
||||||
let v = (await options.replyHandler(message)) ?? "";
|
let v = (await options.replyHandler(message)) ?? "";
|
||||||
call.write(new srpc_1.srpc.AdapterRegistRequest({
|
call.write(new srpc_1.srpc.AdapterRegistRequest({
|
||||||
bot_id: echo,
|
bot_id: echo,
|
||||||
platform: v,
|
platform: v,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (__type__ == "action" && options.actionHandler) {
|
if (__type__ == "action" && options.actionHandler) {
|
||||||
|
try {
|
||||||
let v = await options.actionHandler(message);
|
let v = await options.actionHandler(message);
|
||||||
call.write(new srpc_1.srpc.AdapterRegistRequest({
|
call.write(new srpc_1.srpc.AdapterRegistRequest({
|
||||||
bot_id: echo,
|
bot_id: echo,
|
||||||
platform: v,
|
platform: v,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
// console.log("end on data")
|
catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
call.on("error", (err) => {
|
call.on("error", (err) => {
|
||||||
console.error("adapter disc", err);
|
console.error("adapter disc", err);
|
||||||
});
|
});
|
||||||
// console.log("before write")
|
|
||||||
call.write(new srpc_1.srpc.AdapterRegistRequest({
|
call.write(new srpc_1.srpc.AdapterRegistRequest({
|
||||||
bot_id: options.bot_id,
|
bot_id: options.bot_id,
|
||||||
platform: options.platform,
|
platform: options.platform,
|
||||||
}));
|
}));
|
||||||
// console.log("after write write")
|
|
||||||
this.call = call;
|
this.call = call;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setActionHandler(func) {
|
|
||||||
// 将从服务端不断接收action消息,并处理
|
|
||||||
// 事件处理巨饼
|
|
||||||
}
|
|
||||||
async receive(message) {
|
async receive(message) {
|
||||||
//投递消息
|
//投递消息
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@@ -587,12 +584,12 @@ class Adapter {
|
|||||||
platform: this.platform,
|
platform: this.platform,
|
||||||
bot_id: this.bot_id,
|
bot_id: this.bot_id,
|
||||||
value: JSON.stringify(message),
|
value: JSON.stringify(message),
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
else if (resp?.value) {
|
else {
|
||||||
resolve(new Sender(resp.value));
|
resolve(undefined);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -604,7 +601,7 @@ class Adapter {
|
|||||||
platform: this.platform,
|
platform: this.platform,
|
||||||
bot_id: this.bot_id,
|
bot_id: this.bot_id,
|
||||||
value: JSON.stringify(message),
|
value: JSON.stringify(message),
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
@@ -623,7 +620,7 @@ class Adapter {
|
|||||||
platform: this.platform,
|
platform: this.platform,
|
||||||
bot_id: this.bot_id,
|
bot_id: this.bot_id,
|
||||||
value: JSON.stringify(options),
|
value: JSON.stringify(options),
|
||||||
}), (err, resp) => {
|
}), metadata, (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
}
|
}
|
||||||
@@ -637,7 +634,7 @@ class Adapter {
|
|||||||
exports.Adapter = Adapter;
|
exports.Adapter = Adapter;
|
||||||
let sender = new Sender(process.env?.SENDER_ID ?? "");
|
let sender = new Sender(process.env?.SENDER_ID ?? "");
|
||||||
exports.sender = sender;
|
exports.sender = sender;
|
||||||
async function sleep(ms) {
|
async function sleep(ms = 1000) {
|
||||||
return new Promise((resolve) => setTimeout(resolve, ms));
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
||||||
}
|
}
|
||||||
exports.sleep = sleep;
|
exports.sleep = sleep;
|
||||||
@@ -648,6 +645,17 @@ class Console {
|
|||||||
debug = (message, ...optionalParams) => { };
|
debug = (message, ...optionalParams) => { };
|
||||||
}
|
}
|
||||||
let utils = {
|
let utils = {
|
||||||
|
buildCQTag: (type, params, prefix = "CQ") => {
|
||||||
|
const paramStrings = [];
|
||||||
|
for (const key in params) {
|
||||||
|
const value = params[key];
|
||||||
|
const paramString = `${key}=${value}`;
|
||||||
|
paramStrings.push(paramString);
|
||||||
|
}
|
||||||
|
const paramString = paramStrings.join(",");
|
||||||
|
const cqString = `[${prefix}:${type}${paramString ? "," + paramString : ""}]`;
|
||||||
|
return cqString;
|
||||||
|
},
|
||||||
parseCQText: (text, prefix = "CQ") => {
|
parseCQText: (text, prefix = "CQ") => {
|
||||||
const cqRegex = new RegExp(`\\[${prefix}:(\\w+)(.*?)\\]`, "g");
|
const cqRegex = new RegExp(`\\[${prefix}:(\\w+)(.*?)\\]`, "g");
|
||||||
const cqMatches = text.matchAll(cqRegex);
|
const cqMatches = text.matchAll(cqRegex);
|
||||||
@@ -679,23 +687,37 @@ let utils = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
exports.utils = utils;
|
exports.utils = utils;
|
||||||
let slog = (type, ...args) => { };
|
|
||||||
let console = {
|
let console = {
|
||||||
log(...args) {
|
log(...args) {
|
||||||
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
client.Console(new srpc_1.srpc.ConsoleRequest({
|
||||||
client.Console(new srpc_1.srpc.ConsoleRequest({ type: "log", content, plugin_id }), (err, resp) => { });
|
type: "log",
|
||||||
|
content: (0, util_1.format)(...args),
|
||||||
|
plugin_id,
|
||||||
|
}), (err, resp) => { });
|
||||||
},
|
},
|
||||||
info(...args) {
|
info(...args) {
|
||||||
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
||||||
client.Console(new srpc_1.srpc.ConsoleRequest({ type: "info", content, plugin_id }), (err, resp) => { });
|
client.Console(new srpc_1.srpc.ConsoleRequest({
|
||||||
|
type: "info",
|
||||||
|
content: (0, util_1.format)(...args),
|
||||||
|
plugin_id,
|
||||||
|
}), (err, resp) => { });
|
||||||
},
|
},
|
||||||
error(...args) {
|
error(...args) {
|
||||||
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
||||||
client.Console(new srpc_1.srpc.ConsoleRequest({ type: "error", content, plugin_id }), (err, resp) => { });
|
client.Console(new srpc_1.srpc.ConsoleRequest({
|
||||||
|
type: "error",
|
||||||
|
content: (0, util_1.format)(...args),
|
||||||
|
plugin_id,
|
||||||
|
}), (err, resp) => { });
|
||||||
},
|
},
|
||||||
debug(...args) {
|
debug(...args) {
|
||||||
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
||||||
client.Console(new srpc_1.srpc.ConsoleRequest({ type: "debug", content, plugin_id }), (err, resp) => { });
|
client.Console(new srpc_1.srpc.ConsoleRequest({
|
||||||
|
type: "debug",
|
||||||
|
content: (0, util_1.format)(...args),
|
||||||
|
plugin_id,
|
||||||
|
}), (err, resp) => { });
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
exports.console = console;
|
exports.console = console;
|
||||||
|
|||||||
+151
-118
@@ -1,5 +1,8 @@
|
|||||||
import { srpc } from "./srpc";
|
import { srpc } from "./srpc";
|
||||||
import * as grpc_1 from "@grpc/grpc-js";
|
import * as grpc_1 from "@grpc/grpc-js";
|
||||||
|
import { format } from "util";
|
||||||
|
|
||||||
|
grpc_1.setLogVerbosity(grpc_1.logVerbosity.NONE);
|
||||||
|
|
||||||
let client = new srpc.SillyGirlServiceClient(
|
let client = new srpc.SillyGirlServiceClient(
|
||||||
"localhost:50051",
|
"localhost:50051",
|
||||||
@@ -8,153 +11,156 @@ let client = new srpc.SillyGirlServiceClient(
|
|||||||
|
|
||||||
let senders: Sender[] = [];
|
let senders: Sender[] = [];
|
||||||
let plugin_id = process.env?.PLUGIN_ID ?? "";
|
let plugin_id = process.env?.PLUGIN_ID ?? "";
|
||||||
|
const metadata = new grpc_1.Metadata();
|
||||||
process.on("beforeExit", () => {
|
metadata.add("RUNTIME_ID", process.env?.RUNTIME_ID ?? "");
|
||||||
for (let sender of senders) {
|
|
||||||
sender.destructor();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
class Sender {
|
class Sender {
|
||||||
public uuid: string;
|
private uuid: string;
|
||||||
private destoried = false;
|
private destoried = false;
|
||||||
constructor(uuid: string) {
|
constructor(uuid: string) {
|
||||||
this.uuid = uuid;
|
this.uuid = uuid;
|
||||||
senders.push(this);
|
senders.push(this);
|
||||||
}
|
}
|
||||||
|
destroy() {
|
||||||
destructor() {
|
|
||||||
if (this.destoried) return;
|
if (this.destoried) return;
|
||||||
this.destoried = true;
|
this.destoried = true;
|
||||||
client.SenderDestroy(
|
client.SenderDestroy(
|
||||||
new srpc.ReplyRequest({ uuid: sender.uuid }),
|
new srpc.ReplyRequest({ uuid: sender.uuid }),
|
||||||
|
metadata,
|
||||||
(err, resp) => {}
|
(err, resp) => {}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
async getUserId(): Promise<string> {
|
||||||
async getUserId(): Promise<string | undefined> {
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetUserId(
|
client.SenderGetUserId(
|
||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async getUserName(): Promise<string | undefined> {
|
async getUserName(): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetUserName(
|
client.SenderGetUserName(
|
||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async getChatId(): Promise<string | undefined> {
|
async getChatId(): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetChatId(
|
client.SenderGetChatId(
|
||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async getChatName(): Promise<string | undefined> {
|
async getChatName(): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetChatName(
|
client.SenderGetChatName(
|
||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async getMessageId(): Promise<string | undefined> {
|
async getMessageId(): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetMessageId(
|
client.SenderGetMessageId(
|
||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async getPlatform(): Promise<string | undefined> {
|
async getPlatform(): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetPlatform(
|
client.SenderGetPlatform(
|
||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async getBotId(): Promise<string | undefined> {
|
async getBotId(): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetBotId(
|
client.SenderGetBotId(
|
||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async getContent(): Promise<string | undefined> {
|
async getContent(): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderGetContent(
|
client.SenderGetContent(
|
||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -167,6 +173,7 @@ class Sender {
|
|||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
content: `${key}`,
|
content: `${key}`,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
@@ -184,6 +191,7 @@ class Sender {
|
|||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
content,
|
content,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
@@ -200,6 +208,7 @@ class Sender {
|
|||||||
new srpc.SenderRequest({
|
new srpc.SenderRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
@@ -210,7 +219,7 @@ class Sender {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async getAdapter() {
|
async getAdapter(): Promise<Adapter> {
|
||||||
return new Adapter({
|
return new Adapter({
|
||||||
bot_id: await this.getBotId(),
|
bot_id: await this.getBotId(),
|
||||||
platform: await this.getPlatform(),
|
platform: await this.getPlatform(),
|
||||||
@@ -229,31 +238,26 @@ class Sender {
|
|||||||
prohibit_groups?: string[]; // 群聊黑名单
|
prohibit_groups?: string[]; // 群聊黑名单
|
||||||
allow_users?: string[]; // 用户白名单
|
allow_users?: string[]; // 用户白名单
|
||||||
prohibit_users?: string[]; // 群聊白名单
|
prohibit_users?: string[]; // 群聊白名单
|
||||||
persistent?: boolean; //持久化监听
|
|
||||||
}): Promise<Sender | undefined> {
|
}): Promise<Sender | undefined> {
|
||||||
return new Promise(
|
return new Promise(async (resolve, reject) => {
|
||||||
async (resolve, reject) => {
|
|
||||||
let params: any = {
|
let params: any = {
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
rules: options?.rules,
|
rules: options?.rules,
|
||||||
timeout: options?.timeout,
|
timeout: options?.timeout,
|
||||||
listen_private: options?.listen_private,
|
listen_private: options?.listen_private,
|
||||||
listen_group: options?.listen_group,
|
listen_group: options?.listen_group,
|
||||||
allow_platforms: options?.allow_platforms,
|
allow_platforms: options?.allow_platforms ?? [],
|
||||||
prohibit_platforms: options?.prohibit_platforms,
|
prohibit_platforms: options?.prohibit_platforms ?? [],
|
||||||
allow_groups: options?.allow_groups,
|
allow_groups: options?.allow_groups,
|
||||||
prohibit_groups: options?.prohibit_groups,
|
prohibit_groups: options?.prohibit_groups,
|
||||||
allow_users: options?.allow_users,
|
allow_users: options?.allow_users,
|
||||||
prohibit_users: options?.prohibit_users,
|
prohibit_users: options?.prohibit_users,
|
||||||
persistent: options?.persistent,
|
|
||||||
plugin_id,
|
plugin_id,
|
||||||
};
|
};
|
||||||
if (!this.uuid) {
|
if (!this.uuid) {
|
||||||
params.persistent = true;
|
params.persistent = true;
|
||||||
}
|
}
|
||||||
const call = client.SenderListen();
|
const call = client.SenderListen(metadata);
|
||||||
// let callback: any = options.replyHandler;
|
|
||||||
// console.log("===",this.uuid)
|
|
||||||
call.on("data", (response) => {
|
call.on("data", (response) => {
|
||||||
if (response.echo == "END") {
|
if (response.echo == "END") {
|
||||||
call.cancel();
|
call.cancel();
|
||||||
@@ -261,7 +265,7 @@ class Sender {
|
|||||||
}
|
}
|
||||||
let s = response.uuid ? new Sender(response.uuid) : undefined;
|
let s = response.uuid ? new Sender(response.uuid) : undefined;
|
||||||
if (options?.handle && s) {
|
if (options?.handle && s) {
|
||||||
// console.log(`options?.handle`, options.persistent)
|
try {
|
||||||
let obj = options?.handle(s);
|
let obj = options?.handle(s);
|
||||||
if (typeof obj == "string") {
|
if (typeof obj == "string") {
|
||||||
call.write(
|
call.write(
|
||||||
@@ -281,6 +285,7 @@ class Sender {
|
|||||||
);
|
);
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
|
console.error(e);
|
||||||
call.write(
|
call.write(
|
||||||
new srpc.SenderListenRequest({
|
new srpc.SenderListenRequest({
|
||||||
uuid: response.echo,
|
uuid: response.echo,
|
||||||
@@ -296,96 +301,92 @@ class Sender {
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// console.log(`options?.handle`, options.persistent)
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// console.log(`call.cancel()`, options?.persistent)
|
|
||||||
call.write(
|
call.write(
|
||||||
new srpc.SenderListenRequest({
|
new srpc.SenderListenRequest({
|
||||||
uuid: response.echo,
|
uuid: response.echo,
|
||||||
value: "",
|
value: "",
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
// console.log(`call.cancel()`, options?.persistent)
|
|
||||||
}
|
}
|
||||||
// console.log("response", JSON.stringify(response));
|
|
||||||
// call.cancel()
|
|
||||||
resolve(s);
|
resolve(s);
|
||||||
});
|
});
|
||||||
call.on("error", (err) => {
|
call.on("error", (err) => {
|
||||||
reject(err);
|
reject(err);
|
||||||
// console.error(err);
|
|
||||||
});
|
});
|
||||||
// console.log("params", JSON.stringify(params));
|
|
||||||
call.write(new srpc.SenderListenRequest(params));
|
call.write(new srpc.SenderListenRequest(params));
|
||||||
}
|
});
|
||||||
// client.SenderListen(new srpc.SenderListenRequest(params), (err, resp) => {
|
|
||||||
// if (err) {
|
|
||||||
// reject(err);
|
|
||||||
// } else {
|
|
||||||
// if (resp?.value) {
|
|
||||||
// let handle = options?.handle;
|
|
||||||
// let s = new Sender(resp.value);
|
|
||||||
// resolve(s);
|
|
||||||
// if (handle) {
|
|
||||||
// handle(s);
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// reject(new Error("timeout"));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
holdOn(str: string) {
|
holdOn(str: string) {
|
||||||
return "go_again_" + str;
|
return "go_again_" + str;
|
||||||
}
|
}
|
||||||
async reply(content: string): Promise<string | undefined> {
|
async reply(content: string): Promise<string> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.SenderReply(
|
client.SenderReply(
|
||||||
new srpc.ReplyRequest({
|
new srpc.ReplyRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
content,
|
content,
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(resp?.value ?? "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async action(options: any): Promise<any | undefined> {
|
async doAction(options: Record<string, any>): Promise<any> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
console.log({
|
||||||
|
uuid: this.uuid,
|
||||||
|
content: JSON.stringify(options),
|
||||||
|
});
|
||||||
client.SenderAction(
|
client.SenderAction(
|
||||||
new srpc.ReplyRequest({
|
new srpc.ReplyRequest({
|
||||||
uuid: this.uuid,
|
uuid: this.uuid,
|
||||||
content: JSON.stringify(options),
|
content: JSON.stringify(options),
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.value);
|
resolve(JSON.parse(resp?.value ?? "{}"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async event(): Promise<any | undefined> {
|
async getEvent(): Promise<Record<string, any>> {
|
||||||
return;
|
return new Promise((resolve, reject) => {
|
||||||
|
client.SenderEvent(
|
||||||
|
new srpc.SenderRequest({
|
||||||
|
uuid: this.uuid,
|
||||||
|
}),
|
||||||
|
metadata,
|
||||||
|
(err, resp) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve(JSON.parse(resp?.value ?? "{}"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class Bucket {
|
class Bucket {
|
||||||
name: string;
|
private name: string;
|
||||||
|
|
||||||
constructor(name: string) {
|
constructor(name: string) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
transform(v: string | undefined) {
|
transform(v: string | undefined) {
|
||||||
if (!v) {
|
if (!v) {
|
||||||
return undefined;
|
return undefined;
|
||||||
@@ -477,7 +478,7 @@ class Bucket {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async getAll(): Promise<any> {
|
async getAll(): Promise<Record<string, any>> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.BucketGetAll(
|
client.BucketGetAll(
|
||||||
new srpc.BucketRequest({ name: this.name }),
|
new srpc.BucketRequest({ name: this.name }),
|
||||||
@@ -500,8 +501,8 @@ class Bucket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async delete(key: string): Promise<{
|
async delete(key: string): Promise<{
|
||||||
message?: string | undefined;
|
message?: string;
|
||||||
changed?: boolean | undefined;
|
changed?: boolean;
|
||||||
}> {
|
}> {
|
||||||
return this.set(key, "");
|
return this.set(key, "");
|
||||||
}
|
}
|
||||||
@@ -521,7 +522,7 @@ class Bucket {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async keys(): Promise<string[] | undefined> {
|
async keys(): Promise<string[]> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.BucketKeys(
|
client.BucketKeys(
|
||||||
new srpc.BucketRequest({ name: this.name }),
|
new srpc.BucketRequest({ name: this.name }),
|
||||||
@@ -529,14 +530,14 @@ class Bucket {
|
|||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.keys);
|
resolve(resp?.keys ?? []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async len(): Promise<number | undefined> {
|
async len(): Promise<number> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.BucketLen(
|
client.BucketLen(
|
||||||
new srpc.BucketRequest({ name: this.name }),
|
new srpc.BucketRequest({ name: this.name }),
|
||||||
@@ -544,20 +545,20 @@ class Bucket {
|
|||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.length);
|
resolve(resp?.length ?? 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async buckets(): Promise<string[] | undefined> {
|
async buckets(): Promise<string[]> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
client.BucketBuckets(new srpc.Empty(), (err, resp) => {
|
client.BucketBuckets(new srpc.Empty(), (err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(resp?.buckets);
|
resolve(resp?.buckets ?? []);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -565,7 +566,7 @@ class Bucket {
|
|||||||
|
|
||||||
watch(
|
watch(
|
||||||
key: string,
|
key: string,
|
||||||
handle: (old: any, now: any, key: string) => StorageFinal | void | any
|
handle: (old: any, now: any, key: string) => StorageModifier | void
|
||||||
) {
|
) {
|
||||||
const call = client.BucketWatch();
|
const call = client.BucketWatch();
|
||||||
call.on("data", async (response) => {
|
call.on("data", async (response) => {
|
||||||
@@ -574,8 +575,12 @@ class Bucket {
|
|||||||
this.transform(response.now),
|
this.transform(response.now),
|
||||||
response.key
|
response.key
|
||||||
);
|
);
|
||||||
|
try {
|
||||||
fin = await fin;
|
fin = await fin;
|
||||||
let result: StorageFinal = {
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
|
let result: StorageModifier = {
|
||||||
echo: response.echo,
|
echo: response.echo,
|
||||||
};
|
};
|
||||||
if (!fin) {
|
if (!fin) {
|
||||||
@@ -599,11 +604,11 @@ class Bucket {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
async _name(): Promise<string> {
|
async getName(): Promise<string> {
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
interface StorageFinal {
|
interface StorageModifier {
|
||||||
echo?: string;
|
echo?: string;
|
||||||
now?: any;
|
now?: any;
|
||||||
message?: string;
|
message?: string;
|
||||||
@@ -620,31 +625,26 @@ interface Message {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class Adapter {
|
class Adapter {
|
||||||
platform: string | undefined;
|
platform: string;
|
||||||
bot_id: string | undefined;
|
bot_id: string;
|
||||||
call: any;
|
call: any;
|
||||||
constructor(options: {
|
constructor(options: {
|
||||||
platform?: string;
|
platform: string;
|
||||||
bot_id?: string;
|
bot_id: string;
|
||||||
replyHandler?: (
|
replyHandler?: (message: Message) => Promise<string | undefined>;
|
||||||
message: Message
|
actionHandler?: (message: Message) => Promise<string | undefined>;
|
||||||
) => string | undefined | Promise<string | undefined>;
|
|
||||||
actionHandler?: (
|
|
||||||
message: Message
|
|
||||||
) => string | undefined | Promise<string | undefined>;
|
|
||||||
}) {
|
}) {
|
||||||
this.platform = options.platform;
|
this.platform = options.platform;
|
||||||
this.bot_id = options.bot_id;
|
this.bot_id = options.bot_id;
|
||||||
if (options.replyHandler) {
|
if (options.replyHandler) {
|
||||||
const call = client.AdapterRegist();
|
const call = client.AdapterRegist(metadata);
|
||||||
// let callback: any = ;
|
|
||||||
call.on("data", async (response) => {
|
call.on("data", async (response) => {
|
||||||
// console.log("start on data")
|
|
||||||
let message = JSON.parse(response.value);
|
let message = JSON.parse(response.value);
|
||||||
const { echo, __type__ } = message;
|
const { echo, __type__ } = message;
|
||||||
delete message.__type__;
|
delete message.__type__;
|
||||||
delete message.echo;
|
delete message.echo;
|
||||||
if (__type__ == "reply" && options.replyHandler) {
|
if (__type__ == "reply" && options.replyHandler) {
|
||||||
|
try {
|
||||||
let v = (await options.replyHandler(message)) ?? "";
|
let v = (await options.replyHandler(message)) ?? "";
|
||||||
call.write(
|
call.write(
|
||||||
new srpc.AdapterRegistRequest({
|
new srpc.AdapterRegistRequest({
|
||||||
@@ -652,8 +652,12 @@ class Adapter {
|
|||||||
platform: v,
|
platform: v,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (__type__ == "action" && options.actionHandler) {
|
if (__type__ == "action" && options.actionHandler) {
|
||||||
|
try {
|
||||||
let v = await options.actionHandler(message);
|
let v = await options.actionHandler(message);
|
||||||
call.write(
|
call.write(
|
||||||
new srpc.AdapterRegistRequest({
|
new srpc.AdapterRegistRequest({
|
||||||
@@ -661,41 +665,38 @@ class Adapter {
|
|||||||
platform: v,
|
platform: v,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// console.log("end on data")
|
|
||||||
});
|
});
|
||||||
call.on("error", (err) => {
|
call.on("error", (err) => {
|
||||||
console.error("adapter disc", err);
|
console.error("adapter disc", err);
|
||||||
});
|
});
|
||||||
// console.log("before write")
|
|
||||||
call.write(
|
call.write(
|
||||||
new srpc.AdapterRegistRequest({
|
new srpc.AdapterRegistRequest({
|
||||||
bot_id: options.bot_id,
|
bot_id: options.bot_id,
|
||||||
platform: options.platform,
|
platform: options.platform,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
// console.log("after write write")
|
|
||||||
this.call = call;
|
this.call = call;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setActionHandler(func: (action: {}) => any): void {
|
async receive(message: Message): Promise<undefined> {
|
||||||
// 将从服务端不断接收action消息,并处理
|
|
||||||
// 事件处理巨饼
|
|
||||||
}
|
|
||||||
async receive(message: Message): Promise<Sender> {
|
|
||||||
//投递消息
|
//投递消息
|
||||||
return new Promise<Sender>((resolve, reject) => {
|
return new Promise<undefined>((resolve, reject) => {
|
||||||
client.AdapterReceive(
|
client.AdapterReceive(
|
||||||
new srpc.AdapterRequest({
|
new srpc.AdapterRequest({
|
||||||
platform: this.platform,
|
platform: this.platform,
|
||||||
bot_id: this.bot_id,
|
bot_id: this.bot_id,
|
||||||
value: JSON.stringify(message),
|
value: JSON.stringify(message),
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else if (resp?.value) {
|
} else {
|
||||||
resolve(new Sender(resp.value));
|
resolve(undefined);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -710,6 +711,7 @@ class Adapter {
|
|||||||
bot_id: this.bot_id,
|
bot_id: this.bot_id,
|
||||||
value: JSON.stringify(message),
|
value: JSON.stringify(message),
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
@@ -731,6 +733,7 @@ class Adapter {
|
|||||||
bot_id: this.bot_id,
|
bot_id: this.bot_id,
|
||||||
value: JSON.stringify(options),
|
value: JSON.stringify(options),
|
||||||
}),
|
}),
|
||||||
|
metadata,
|
||||||
(err, resp) => {
|
(err, resp) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
@@ -745,7 +748,7 @@ class Adapter {
|
|||||||
|
|
||||||
let sender: Sender = new Sender(process.env?.SENDER_ID ?? "");
|
let sender: Sender = new Sender(process.env?.SENDER_ID ?? "");
|
||||||
|
|
||||||
async function sleep(ms: number | undefined) {
|
async function sleep(ms = 1000) {
|
||||||
return new Promise((resolve) => setTimeout(resolve, ms));
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -758,10 +761,27 @@ class Console {
|
|||||||
|
|
||||||
interface CQItem {
|
interface CQItem {
|
||||||
type: string;
|
type: string;
|
||||||
params: {};
|
params: Record<string, string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface CQParams {
|
||||||
|
[key: string]: string | number | boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
let utils = {
|
let utils = {
|
||||||
|
buildCQTag: (type: string, params: CQParams, prefix = "CQ"): string => {
|
||||||
|
const paramStrings: string[] = [];
|
||||||
|
for (const key in params) {
|
||||||
|
const value = params[key];
|
||||||
|
const paramString = `${key}=${value}`;
|
||||||
|
paramStrings.push(paramString);
|
||||||
|
}
|
||||||
|
const paramString = paramStrings.join(",");
|
||||||
|
const cqString = `[${prefix}:${type}${
|
||||||
|
paramString ? "," + paramString : ""
|
||||||
|
}]`;
|
||||||
|
return cqString;
|
||||||
|
},
|
||||||
parseCQText: (text: string, prefix = "CQ") => {
|
parseCQText: (text: string, prefix = "CQ") => {
|
||||||
const cqRegex = new RegExp(`\\[${prefix}:(\\w+)(.*?)\\]`, "g");
|
const cqRegex = new RegExp(`\\[${prefix}:(\\w+)(.*?)\\]`, "g");
|
||||||
const cqMatches = text.matchAll(cqRegex);
|
const cqMatches = text.matchAll(cqRegex);
|
||||||
@@ -796,34 +816,47 @@ let utils = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let slog = (type: string, ...args: any[]) => {};
|
|
||||||
|
|
||||||
let console = {
|
let console = {
|
||||||
log(...args: any[]) {
|
log(...args: any[]) {
|
||||||
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
|
||||||
client.Console(
|
client.Console(
|
||||||
new srpc.ConsoleRequest({ type: "log", content, plugin_id }),
|
new srpc.ConsoleRequest({
|
||||||
|
type: "log",
|
||||||
|
content: format(...args),
|
||||||
|
plugin_id,
|
||||||
|
}),
|
||||||
(err, resp) => {}
|
(err, resp) => {}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
info(...args: any[]) {
|
info(...args: any[]) {
|
||||||
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
||||||
client.Console(
|
client.Console(
|
||||||
new srpc.ConsoleRequest({ type: "info", content, plugin_id }),
|
new srpc.ConsoleRequest({
|
||||||
|
type: "info",
|
||||||
|
content: format(...args),
|
||||||
|
plugin_id,
|
||||||
|
}),
|
||||||
(err, resp) => {}
|
(err, resp) => {}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
error(...args: any[]) {
|
error(...args: any[]) {
|
||||||
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
||||||
client.Console(
|
client.Console(
|
||||||
new srpc.ConsoleRequest({ type: "error", content, plugin_id }),
|
new srpc.ConsoleRequest({
|
||||||
|
type: "error",
|
||||||
|
content: format(...args),
|
||||||
|
plugin_id,
|
||||||
|
}),
|
||||||
(err, resp) => {}
|
(err, resp) => {}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
debug(...args: any[]) {
|
debug(...args: any[]) {
|
||||||
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
const content = args.reduce((acc, arg) => acc + " " + arg, "");
|
||||||
client.Console(
|
client.Console(
|
||||||
new srpc.ConsoleRequest({ type: "debug", content, plugin_id }),
|
new srpc.ConsoleRequest({
|
||||||
|
type: "debug",
|
||||||
|
content: format(...args),
|
||||||
|
plugin_id,
|
||||||
|
}),
|
||||||
(err, resp) => {}
|
(err, resp) => {}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
Vendored
+4
-4
@@ -802,8 +802,8 @@ export declare namespace srpc {
|
|||||||
responseStream: boolean;
|
responseStream: boolean;
|
||||||
requestSerialize: (message: AdapterRequest) => Buffer;
|
requestSerialize: (message: AdapterRequest) => Buffer;
|
||||||
requestDeserialize: (bytes: Buffer) => AdapterRequest;
|
requestDeserialize: (bytes: Buffer) => AdapterRequest;
|
||||||
responseSerialize: (message: Default) => Buffer;
|
responseSerialize: (message: Empty) => Buffer;
|
||||||
responseDeserialize: (bytes: Buffer) => Default;
|
responseDeserialize: (bytes: Buffer) => Empty;
|
||||||
};
|
};
|
||||||
AdapterPush: {
|
AdapterPush: {
|
||||||
path: string;
|
path: string;
|
||||||
@@ -868,7 +868,7 @@ export declare namespace srpc {
|
|||||||
abstract SenderAction(call: grpc_1.ServerUnaryCall<ReplyRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
abstract SenderAction(call: grpc_1.ServerUnaryCall<ReplyRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
||||||
abstract SenderDestroy(call: grpc_1.ServerUnaryCall<ReplyRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
abstract SenderDestroy(call: grpc_1.ServerUnaryCall<ReplyRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
||||||
abstract AdapterRegist(call: grpc_1.ServerDuplexStream<AdapterRegistRequest, Default>): void;
|
abstract AdapterRegist(call: grpc_1.ServerDuplexStream<AdapterRegistRequest, Default>): void;
|
||||||
abstract AdapterReceive(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
abstract AdapterReceive(call: grpc_1.ServerUnaryCall<AdapterRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
||||||
abstract AdapterPush(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
abstract AdapterPush(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
||||||
abstract AdapterDestroy(call: grpc_1.ServerUnaryCall<AdapterRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
abstract AdapterDestroy(call: grpc_1.ServerUnaryCall<AdapterRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
||||||
abstract AdapterSender(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
abstract AdapterSender(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
||||||
@@ -902,7 +902,7 @@ export declare namespace srpc {
|
|||||||
SenderAction: GrpcUnaryServiceInterface<ReplyRequest, Default>;
|
SenderAction: GrpcUnaryServiceInterface<ReplyRequest, Default>;
|
||||||
SenderDestroy: GrpcUnaryServiceInterface<ReplyRequest, Empty>;
|
SenderDestroy: GrpcUnaryServiceInterface<ReplyRequest, Empty>;
|
||||||
AdapterRegist: GrpcChunkServiceInterface<AdapterRegistRequest, Default>;
|
AdapterRegist: GrpcChunkServiceInterface<AdapterRegistRequest, Default>;
|
||||||
AdapterReceive: GrpcUnaryServiceInterface<AdapterRequest, Default>;
|
AdapterReceive: GrpcUnaryServiceInterface<AdapterRequest, Empty>;
|
||||||
AdapterPush: GrpcUnaryServiceInterface<AdapterRequest, Default>;
|
AdapterPush: GrpcUnaryServiceInterface<AdapterRequest, Default>;
|
||||||
AdapterDestroy: GrpcUnaryServiceInterface<AdapterRequest, Empty>;
|
AdapterDestroy: GrpcUnaryServiceInterface<AdapterRequest, Empty>;
|
||||||
AdapterSender: GrpcUnaryServiceInterface<AdapterRequest, Default>;
|
AdapterSender: GrpcUnaryServiceInterface<AdapterRequest, Default>;
|
||||||
|
|||||||
+1
-1
@@ -2166,7 +2166,7 @@ var srpc;
|
|||||||
requestSerialize: (message) => Buffer.from(message.serialize()),
|
requestSerialize: (message) => Buffer.from(message.serialize()),
|
||||||
requestDeserialize: (bytes) => AdapterRequest.deserialize(new Uint8Array(bytes)),
|
requestDeserialize: (bytes) => AdapterRequest.deserialize(new Uint8Array(bytes)),
|
||||||
responseSerialize: (message) => Buffer.from(message.serialize()),
|
responseSerialize: (message) => Buffer.from(message.serialize()),
|
||||||
responseDeserialize: (bytes) => Default.deserialize(new Uint8Array(bytes))
|
responseDeserialize: (bytes) => Empty.deserialize(new Uint8Array(bytes))
|
||||||
},
|
},
|
||||||
AdapterPush: {
|
AdapterPush: {
|
||||||
path: "/srpc.SillyGirlService/AdapterPush",
|
path: "/srpc.SillyGirlService/AdapterPush",
|
||||||
|
|||||||
+1
-1
@@ -145,7 +145,7 @@ service SillyGirlService {
|
|||||||
rpc SenderAction (ReplyRequest) returns (Default);
|
rpc SenderAction (ReplyRequest) returns (Default);
|
||||||
rpc SenderDestroy(ReplyRequest) returns (Empty);
|
rpc SenderDestroy(ReplyRequest) returns (Empty);
|
||||||
rpc AdapterRegist(stream AdapterRegistRequest) returns (stream Default);
|
rpc AdapterRegist(stream AdapterRegistRequest) returns (stream Default);
|
||||||
rpc AdapterReceive(AdapterRequest) returns (Default);
|
rpc AdapterReceive(AdapterRequest) returns (Empty);
|
||||||
rpc AdapterPush(AdapterRequest) returns (Default);
|
rpc AdapterPush(AdapterRequest) returns (Default);
|
||||||
rpc AdapterDestroy(AdapterRequest) returns (Empty);
|
rpc AdapterDestroy(AdapterRequest) returns (Empty);
|
||||||
rpc AdapterSender(AdapterRequest) returns (Default);
|
rpc AdapterSender(AdapterRequest) returns (Default);
|
||||||
|
|||||||
+4
-4
@@ -2404,8 +2404,8 @@ export namespace srpc {
|
|||||||
responseStream: false,
|
responseStream: false,
|
||||||
requestSerialize: (message: AdapterRequest) => Buffer.from(message.serialize()),
|
requestSerialize: (message: AdapterRequest) => Buffer.from(message.serialize()),
|
||||||
requestDeserialize: (bytes: Buffer) => AdapterRequest.deserialize(new Uint8Array(bytes)),
|
requestDeserialize: (bytes: Buffer) => AdapterRequest.deserialize(new Uint8Array(bytes)),
|
||||||
responseSerialize: (message: Default) => Buffer.from(message.serialize()),
|
responseSerialize: (message: Empty) => Buffer.from(message.serialize()),
|
||||||
responseDeserialize: (bytes: Buffer) => Default.deserialize(new Uint8Array(bytes))
|
responseDeserialize: (bytes: Buffer) => Empty.deserialize(new Uint8Array(bytes))
|
||||||
},
|
},
|
||||||
AdapterPush: {
|
AdapterPush: {
|
||||||
path: "/srpc.SillyGirlService/AdapterPush",
|
path: "/srpc.SillyGirlService/AdapterPush",
|
||||||
@@ -2470,7 +2470,7 @@ export namespace srpc {
|
|||||||
abstract SenderAction(call: grpc_1.ServerUnaryCall<ReplyRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
abstract SenderAction(call: grpc_1.ServerUnaryCall<ReplyRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
||||||
abstract SenderDestroy(call: grpc_1.ServerUnaryCall<ReplyRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
abstract SenderDestroy(call: grpc_1.ServerUnaryCall<ReplyRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
||||||
abstract AdapterRegist(call: grpc_1.ServerDuplexStream<AdapterRegistRequest, Default>): void;
|
abstract AdapterRegist(call: grpc_1.ServerDuplexStream<AdapterRegistRequest, Default>): void;
|
||||||
abstract AdapterReceive(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
abstract AdapterReceive(call: grpc_1.ServerUnaryCall<AdapterRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
||||||
abstract AdapterPush(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
abstract AdapterPush(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
||||||
abstract AdapterDestroy(call: grpc_1.ServerUnaryCall<AdapterRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
abstract AdapterDestroy(call: grpc_1.ServerUnaryCall<AdapterRequest, Empty>, callback: grpc_1.sendUnaryData<Empty>): void;
|
||||||
abstract AdapterSender(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
abstract AdapterSender(call: grpc_1.ServerUnaryCall<AdapterRequest, Default>, callback: grpc_1.sendUnaryData<Default>): void;
|
||||||
@@ -2555,7 +2555,7 @@ export namespace srpc {
|
|||||||
AdapterRegist: GrpcChunkServiceInterface<AdapterRegistRequest, Default> = (metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<AdapterRegistRequest, Default> => {
|
AdapterRegist: GrpcChunkServiceInterface<AdapterRegistRequest, Default> = (metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<AdapterRegistRequest, Default> => {
|
||||||
return super.AdapterRegist(metadata, options);
|
return super.AdapterRegist(metadata, options);
|
||||||
};
|
};
|
||||||
AdapterReceive: GrpcUnaryServiceInterface<AdapterRequest, Default> = (message: AdapterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<Default>, options?: grpc_1.CallOptions | grpc_1.requestCallback<Default>, callback?: grpc_1.requestCallback<Default>): grpc_1.ClientUnaryCall => {
|
AdapterReceive: GrpcUnaryServiceInterface<AdapterRequest, Empty> = (message: AdapterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<Empty>, options?: grpc_1.CallOptions | grpc_1.requestCallback<Empty>, callback?: grpc_1.requestCallback<Empty>): grpc_1.ClientUnaryCall => {
|
||||||
return super.AdapterReceive(message, metadata, options, callback);
|
return super.AdapterReceive(message, metadata, options, callback);
|
||||||
};
|
};
|
||||||
AdapterPush: GrpcUnaryServiceInterface<AdapterRequest, Default> = (message: AdapterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<Default>, options?: grpc_1.CallOptions | grpc_1.requestCallback<Default>, callback?: grpc_1.requestCallback<Default>): grpc_1.ClientUnaryCall => {
|
AdapterPush: GrpcUnaryServiceInterface<AdapterRequest, Default> = (message: AdapterRequest, metadata: grpc_1.Metadata | grpc_1.CallOptions | grpc_1.requestCallback<Default>, options?: grpc_1.CallOptions | grpc_1.requestCallback<Default>, callback?: grpc_1.requestCallback<Default>): grpc_1.ClientUnaryCall => {
|
||||||
|
|||||||
+19
-19
@@ -1353,7 +1353,7 @@ var file_srpc_proto_rawDesc = []byte{
|
|||||||
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e,
|
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e,
|
||||||
0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69,
|
0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69,
|
||||||
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49,
|
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49,
|
||||||
0x64, 0x32, 0x96, 0x0d, 0x0a, 0x10, 0x53, 0x69, 0x6c, 0x6c, 0x79, 0x47, 0x69, 0x72, 0x6c, 0x53,
|
0x64, 0x32, 0x94, 0x0d, 0x0a, 0x10, 0x53, 0x69, 0x6c, 0x6c, 0x79, 0x47, 0x69, 0x72, 0x6c, 0x53,
|
||||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
|
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
|
||||||
0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65,
|
0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65,
|
||||||
0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72,
|
0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72,
|
||||||
@@ -1442,24 +1442,24 @@ var file_srpc_proto_rawDesc = []byte{
|
|||||||
0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41,
|
0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41,
|
||||||
0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
|
0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75,
|
0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75,
|
||||||
0x6c, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x35, 0x0a, 0x0e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65,
|
0x6c, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x33, 0x0a, 0x0e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65,
|
||||||
0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e,
|
0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e,
|
||||||
0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d,
|
0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b,
|
||||||
0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a,
|
0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x0b, 0x41,
|
||||||
0x0b, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x14, 0x2e, 0x73,
|
0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70,
|
||||||
0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x63, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c,
|
0x1a, 0x0d, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12,
|
||||||
0x74, 0x12, 0x33, 0x0a, 0x0e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74,
|
0x33, 0x0a, 0x0e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f,
|
||||||
0x72, 0x6f, 0x79, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74,
|
0x79, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72,
|
||||||
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x73, 0x72, 0x70, 0x63,
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x45,
|
||||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x0d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65,
|
0x6d, 0x70, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x0d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53,
|
||||||
0x72, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41,
|
0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x61,
|
||||||
0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e,
|
0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x73, 0x72,
|
||||||
0x73, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x07,
|
0x70, 0x63, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x43, 0x6f,
|
||||||
0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x43,
|
0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x12, 0x14, 0x2e, 0x73, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e,
|
0x73, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x73, 0x72,
|
||||||
0x73, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x07, 0x5a, 0x05, 0x73, 0x72,
|
0x70, 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x07, 0x5a, 0x05, 0x73, 0x72, 0x70, 0x63,
|
||||||
0x70, 0x63, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -1553,7 +1553,7 @@ var file_srpc_proto_depIdxs = []int32{
|
|||||||
1, // 52: srpc.SillyGirlService.SenderAction:output_type -> srpc.Default
|
1, // 52: srpc.SillyGirlService.SenderAction:output_type -> srpc.Default
|
||||||
0, // 53: srpc.SillyGirlService.SenderDestroy:output_type -> srpc.Empty
|
0, // 53: srpc.SillyGirlService.SenderDestroy:output_type -> srpc.Empty
|
||||||
1, // 54: srpc.SillyGirlService.AdapterRegist:output_type -> srpc.Default
|
1, // 54: srpc.SillyGirlService.AdapterRegist:output_type -> srpc.Default
|
||||||
1, // 55: srpc.SillyGirlService.AdapterReceive:output_type -> srpc.Default
|
0, // 55: srpc.SillyGirlService.AdapterReceive:output_type -> srpc.Empty
|
||||||
1, // 56: srpc.SillyGirlService.AdapterPush:output_type -> srpc.Default
|
1, // 56: srpc.SillyGirlService.AdapterPush:output_type -> srpc.Default
|
||||||
0, // 57: srpc.SillyGirlService.AdapterDestroy:output_type -> srpc.Empty
|
0, // 57: srpc.SillyGirlService.AdapterDestroy:output_type -> srpc.Empty
|
||||||
1, // 58: srpc.SillyGirlService.AdapterSender:output_type -> srpc.Default
|
1, // 58: srpc.SillyGirlService.AdapterSender:output_type -> srpc.Default
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ type SillyGirlServiceClient interface {
|
|||||||
SenderAction(ctx context.Context, in *ReplyRequest, opts ...grpc.CallOption) (*Default, error)
|
SenderAction(ctx context.Context, in *ReplyRequest, opts ...grpc.CallOption) (*Default, error)
|
||||||
SenderDestroy(ctx context.Context, in *ReplyRequest, opts ...grpc.CallOption) (*Empty, error)
|
SenderDestroy(ctx context.Context, in *ReplyRequest, opts ...grpc.CallOption) (*Empty, error)
|
||||||
AdapterRegist(ctx context.Context, opts ...grpc.CallOption) (SillyGirlService_AdapterRegistClient, error)
|
AdapterRegist(ctx context.Context, opts ...grpc.CallOption) (SillyGirlService_AdapterRegistClient, error)
|
||||||
AdapterReceive(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error)
|
AdapterReceive(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Empty, error)
|
||||||
AdapterPush(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error)
|
AdapterPush(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error)
|
||||||
AdapterDestroy(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Empty, error)
|
AdapterDestroy(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Empty, error)
|
||||||
AdapterSender(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error)
|
AdapterSender(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error)
|
||||||
@@ -386,8 +386,8 @@ func (x *sillyGirlServiceAdapterRegistClient) Recv() (*Default, error) {
|
|||||||
return m, nil
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *sillyGirlServiceClient) AdapterReceive(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Default, error) {
|
func (c *sillyGirlServiceClient) AdapterReceive(ctx context.Context, in *AdapterRequest, opts ...grpc.CallOption) (*Empty, error) {
|
||||||
out := new(Default)
|
out := new(Empty)
|
||||||
err := c.cc.Invoke(ctx, SillyGirlService_AdapterReceive_FullMethodName, in, out, opts...)
|
err := c.cc.Invoke(ctx, SillyGirlService_AdapterReceive_FullMethodName, in, out, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -460,7 +460,7 @@ type SillyGirlServiceServer interface {
|
|||||||
SenderAction(context.Context, *ReplyRequest) (*Default, error)
|
SenderAction(context.Context, *ReplyRequest) (*Default, error)
|
||||||
SenderDestroy(context.Context, *ReplyRequest) (*Empty, error)
|
SenderDestroy(context.Context, *ReplyRequest) (*Empty, error)
|
||||||
AdapterRegist(SillyGirlService_AdapterRegistServer) error
|
AdapterRegist(SillyGirlService_AdapterRegistServer) error
|
||||||
AdapterReceive(context.Context, *AdapterRequest) (*Default, error)
|
AdapterReceive(context.Context, *AdapterRequest) (*Empty, error)
|
||||||
AdapterPush(context.Context, *AdapterRequest) (*Default, error)
|
AdapterPush(context.Context, *AdapterRequest) (*Default, error)
|
||||||
AdapterDestroy(context.Context, *AdapterRequest) (*Empty, error)
|
AdapterDestroy(context.Context, *AdapterRequest) (*Empty, error)
|
||||||
AdapterSender(context.Context, *AdapterRequest) (*Default, error)
|
AdapterSender(context.Context, *AdapterRequest) (*Default, error)
|
||||||
@@ -547,7 +547,7 @@ func (UnimplementedSillyGirlServiceServer) SenderDestroy(context.Context, *Reply
|
|||||||
func (UnimplementedSillyGirlServiceServer) AdapterRegist(SillyGirlService_AdapterRegistServer) error {
|
func (UnimplementedSillyGirlServiceServer) AdapterRegist(SillyGirlService_AdapterRegistServer) error {
|
||||||
return status.Errorf(codes.Unimplemented, "method AdapterRegist not implemented")
|
return status.Errorf(codes.Unimplemented, "method AdapterRegist not implemented")
|
||||||
}
|
}
|
||||||
func (UnimplementedSillyGirlServiceServer) AdapterReceive(context.Context, *AdapterRequest) (*Default, error) {
|
func (UnimplementedSillyGirlServiceServer) AdapterReceive(context.Context, *AdapterRequest) (*Empty, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method AdapterReceive not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method AdapterReceive not implemented")
|
||||||
}
|
}
|
||||||
func (UnimplementedSillyGirlServiceServer) AdapterPush(context.Context, *AdapterRequest) (*Default, error) {
|
func (UnimplementedSillyGirlServiceServer) AdapterPush(context.Context, *AdapterRequest) (*Default, error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user