x
This commit is contained in:
+35
-11
@@ -740,36 +740,60 @@ func (sender *CustomSender) Copy() common.Sender {
|
||||
return &new
|
||||
}
|
||||
|
||||
func (sender *CustomSender) RecallMessage(ps ...interface{}) error {
|
||||
func (sender *CustomSender) RecallMessage(ps ...interface{}) {
|
||||
recalls := []func(){}
|
||||
var timeout int
|
||||
for _, p := range ps {
|
||||
switch p := p.(type) {
|
||||
case int, int64:
|
||||
timeout = utils.Int(p)
|
||||
case string:
|
||||
sender.Reply(mystr.BuildCQCode("delete", H{"id": p}, ""))
|
||||
if p != "" {
|
||||
recalls = append(recalls, func() {
|
||||
sender.Reply(mystr.BuildCQCode("delete", H{"id": p}, ""))
|
||||
})
|
||||
}
|
||||
case []string:
|
||||
for _, v := range p {
|
||||
sender.Reply(mystr.BuildCQCode("delete", H{"id": v}, ""))
|
||||
if v != "" {
|
||||
recalls = append(recalls, func() {
|
||||
sender.Reply(mystr.BuildCQCode("delete", H{"id": v}, ""))
|
||||
})
|
||||
}
|
||||
}
|
||||
case [][]string:
|
||||
for _, v := range p {
|
||||
for _, v2 := range v {
|
||||
sender.Reply(mystr.BuildCQCode("delete", H{"id": v2}, ""))
|
||||
recalls = append(recalls, func() {
|
||||
sender.Reply(mystr.BuildCQCode("delete", H{"id": v2}, ""))
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
go func() {
|
||||
if timeout != 0 {
|
||||
time.Sleep(time.Millisecond * time.Duration(timeout))
|
||||
}
|
||||
for _, recall := range recalls {
|
||||
recall()
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
func (sender *CustomSender) GroupKick(uid string, reject_add_request bool) {
|
||||
sender.Reply(mystr.BuildCQCode("kick", H{"user_id": uid, "chat_id": sender.GetChatID(), "forever": reject_add_request}, ""))
|
||||
func (sender *CustomSender) GroupKick(uid string, reject_add_request bool) error {
|
||||
_, err := sender.Reply(mystr.BuildCQCode("kick", H{"user_id": uid, "chat_id": sender.GetChatID(), "forever": reject_add_request}, ""))
|
||||
return err
|
||||
}
|
||||
|
||||
func (sender *CustomSender) GroupBan(uid string, duration int) {
|
||||
sender.Reply(mystr.BuildCQCode("ban", H{"user_id": uid, "chat_id": sender.GetChatID(), "duration": duration}, ""))
|
||||
func (sender *CustomSender) GroupBan(uid string, duration int) error {
|
||||
_, err := sender.Reply(mystr.BuildCQCode("ban", H{"user_id": uid, "chat_id": sender.GetChatID(), "duration": duration}, ""))
|
||||
return err
|
||||
}
|
||||
|
||||
func (sender *CustomSender) GroupUnban(uid string) {
|
||||
sender.Reply(mystr.BuildCQCode("ban", H{"user_id": uid, "chat_id": sender.GetChatID(), "duration": 0}, ""))
|
||||
func (sender *CustomSender) GroupUnban(uid string) error {
|
||||
_, err := sender.Reply(mystr.BuildCQCode("ban", H{"user_id": uid, "chat_id": sender.GetChatID(), "duration": 0}, ""))
|
||||
return err
|
||||
}
|
||||
|
||||
func (sender *CustomSender) IsAdmin() bool {
|
||||
|
||||
@@ -8,6 +8,6 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script src="/admin/umi.b07a580e.js"></script>
|
||||
<script src="/admin/umi.37bf7c95.js"></script>
|
||||
|
||||
</body></html>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+14
-13
@@ -140,12 +140,12 @@ func (sender *Faker) Copy() common.Sender {
|
||||
return &new
|
||||
}
|
||||
|
||||
func (sender *Faker) GroupKick(uid string, reject_add_request bool) {
|
||||
|
||||
func (sender *Faker) GroupKick(uid string, reject_add_request bool) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *Faker) GroupBan(uid string, duration int) {
|
||||
|
||||
func (sender *Faker) GroupBan(uid string, duration int) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
type BaseSender struct {
|
||||
@@ -299,8 +299,8 @@ func (sender *BaseSender) GetMessageID() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (sender *BaseSender) RecallMessage(...interface{}) error {
|
||||
return nil
|
||||
func (sender *BaseSender) RecallMessage(...interface{}) {
|
||||
|
||||
}
|
||||
|
||||
func (sender *BaseSender) GetUserID() string {
|
||||
@@ -316,19 +316,20 @@ func (sender *BaseSender) GetImType() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (sender *BaseSender) GroupKick(uid string, reject_add_request bool) {
|
||||
|
||||
func (sender *BaseSender) GroupKick(uid string, reject_add_request bool) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *BaseSender) GroupUnkick(uid string) {
|
||||
|
||||
func (sender *BaseSender) GroupUnkick(uid string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *BaseSender) GroupBan(uid string, duration int) {
|
||||
|
||||
func (sender *BaseSender) GroupBan(uid string, duration int) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *BaseSender) GroupUnban(uid string) {
|
||||
func (sender *BaseSender) GroupUnban(uid string) error {
|
||||
return nil
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ type Sender interface {
|
||||
GetBotID() string
|
||||
GetImType() string
|
||||
GetMessageID() string
|
||||
RecallMessage(...interface{}) error
|
||||
RecallMessage(...interface{})
|
||||
GetUserName() string
|
||||
GetChatName() string
|
||||
IsReply() bool
|
||||
@@ -33,10 +33,10 @@ type Sender interface {
|
||||
ClearContinue()
|
||||
Await(Sender, func(Sender) interface{}, ...interface{}) interface{}
|
||||
Copy() Sender
|
||||
GroupKick(uid string, reject_add_request bool)
|
||||
GroupUnkick(uid string)
|
||||
GroupBan(uid string, duration int)
|
||||
GroupUnban(uid string)
|
||||
GroupKick(uid string, reject_add_request bool) error
|
||||
GroupUnkick(uid string) error
|
||||
GroupBan(uid string, duration int) error
|
||||
GroupUnban(uid string) error
|
||||
AtLast()
|
||||
UAtLast()
|
||||
IsAtLast() bool
|
||||
|
||||
+19
-24
@@ -151,24 +151,7 @@ func (sender *SenderJsIplm) GetPlatform() string {
|
||||
return sender.Message.GetImType()
|
||||
}
|
||||
func (sender *SenderJsIplm) RecallMessage(p ...interface{}) {
|
||||
np := []interface{}{}
|
||||
var i = 0
|
||||
for _, v := range p {
|
||||
switch v.(type) {
|
||||
case int, int32, int64, uint, int16:
|
||||
i = utils.Int(v)
|
||||
default:
|
||||
np = append(np, v)
|
||||
}
|
||||
}
|
||||
if i != 0 {
|
||||
go func() {
|
||||
sleep(i)
|
||||
sender.Message.RecallMessage(np...)
|
||||
}()
|
||||
} else {
|
||||
go sender.Message.RecallMessage(np...)
|
||||
}
|
||||
sender.Message.RecallMessage(p...)
|
||||
}
|
||||
func (sender *SenderJsIplm) GetUserName() string {
|
||||
return sender.Message.GetUserName()
|
||||
@@ -216,16 +199,28 @@ func (sender *SenderJsIplm) GetChatId() string {
|
||||
return sender.Message.GetChatID()
|
||||
}
|
||||
|
||||
func (sender *SenderJsIplm) Kick(uid string) {
|
||||
sender.Message.GroupKick(uid, false)
|
||||
func (sender *SenderJsIplm) Kick(uid string) interface{} {
|
||||
err := sender.Message.GroupKick(uid, false)
|
||||
if err != nil {
|
||||
return err.Error()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *SenderJsIplm) Unkick(uid string) {
|
||||
sender.Message.GroupUnkick(uid)
|
||||
func (sender *SenderJsIplm) Unkick(uid string) interface{} {
|
||||
err := sender.Message.GroupUnkick(uid)
|
||||
if err != nil {
|
||||
return err.Error()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *SenderJsIplm) Ban(uid string, duration int) {
|
||||
sender.Message.GroupBan(uid, duration)
|
||||
func (sender *SenderJsIplm) Ban(uid string, duration int) interface{} {
|
||||
err := sender.Message.GroupBan(uid, duration)
|
||||
if err != nil {
|
||||
return err.Error()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *SenderJsIplm) Param(i interface{}) string {
|
||||
|
||||
+12
-13
@@ -9,7 +9,6 @@ import (
|
||||
"reflect"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/Dreamacro/clash/adapter"
|
||||
C "github.com/Dreamacro/clash/constant"
|
||||
@@ -32,14 +31,14 @@ type ProxyConfig struct {
|
||||
Rules []string `json:"rules"`
|
||||
Plugins []string `json:"plugins"`
|
||||
|
||||
Cipher string `json:"cipher,omitempty"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
SkipCertVerify bool `json:"skip-cert-verify,omitempty"`
|
||||
TLS bool `json:"tls,omitempty"`
|
||||
CreatedAt int `json:"created_at,omitempty"`
|
||||
Remark string `json:"remark,omitempty"`
|
||||
Enable bool `json:"enable,omitempty"`
|
||||
// Cipher string `json:"cipher,omitempty"`
|
||||
// Username string `json:"username,omitempty"`
|
||||
// Password string `json:"password,omitempty"`
|
||||
// SkipCertVerify bool `json:"skip-cert-verify,omitempty"`
|
||||
// TLS bool `json:"tls,omitempty"`
|
||||
// CreatedAt int `json:"created_at,omitempty"`
|
||||
// Remark string `json:"remark,omitempty"`
|
||||
Enable bool `json:"enable,omitempty"`
|
||||
// UDP bool `json:"udp,omitempty"`
|
||||
// Plugin string `json:"plugin,omitempty"`
|
||||
// PluginOpts map[string]string `json:"plugin-opts,omitempty"`
|
||||
@@ -187,10 +186,10 @@ func init() {
|
||||
// Port: ncfg.Port,
|
||||
// }
|
||||
}
|
||||
if ncfg.CreatedAt == 0 {
|
||||
ncfg.CreatedAt = int(time.Now().Unix())
|
||||
new = "o:" + string(utils.JsonMarshal(ncfg))
|
||||
}
|
||||
// if ncfg.CreatedAt == 0 {
|
||||
// ncfg.CreatedAt = int(time.Now().Unix())
|
||||
// new = "o:" + string(utils.JsonMarshal(ncfg))
|
||||
// }
|
||||
// ov, ok := Proxies.Load(nkey)
|
||||
// if ok && (!IsDifferent(ocfg, ncfg, []string{"Name", "UUID", "Rules", "Plugins"}) || checkProxy(ov.(C.Proxy))) { //代理依旧有效
|
||||
// return nil
|
||||
|
||||
Reference in New Issue
Block a user