This commit is contained in:
cdle
2021-10-06 11:19:34 +08:00
parent 6d3b5abf76
commit 698670bd0d
5 changed files with 34 additions and 2 deletions
+5
View File
@@ -19,6 +19,7 @@ type Sender interface {
GetAllMatch() [][]string
Get(...int) string
GetContent() string
GetUserName() string
IsAdmin() bool
IsMedia() bool
Reply(...interface{}) (int, error)
@@ -152,3 +153,7 @@ func (sender *Faker) Disappear(lifetime ...time.Duration) {
func (sender *Faker) Finish() {
}
func (sender *Faker) GetUserName() string {
return ""
}
+6 -2
View File
@@ -139,7 +139,6 @@ func init() {
}
var handler = func(s Sender) interface{} {
template := data
template = strings.Replace(template, "ImType()", fmt.Sprintf(`"%s"`, s.GetImType()), -1)
template = strings.Replace(template, "GetChatID()", fmt.Sprint(s.GetChatID()), -1)
param := func(call otto.Value) otto.Value {
@@ -147,7 +146,12 @@ func init() {
v, _ := otto.ToValue(s.Get(int(i - 1)))
return v
}
GetUserName := func(_ otto.Value) otto.Value {
v, _ := otto.ToValue(s.GetUserName())
return v
}
vm := otto.New()
vm.Set("GetUserName", GetUserName)
vm.Set("set", set)
vm.Set("param", param)
vm.Set("get", get)
@@ -170,7 +174,7 @@ func init() {
result := rt.String()
for _, v := range regexp.MustCompile(`\[image:\s*([^\s\[\]]+)\s*\]`).FindAllStringSubmatch(result, -1) {
s.Reply(ImageUrl(v[1]))
result = strings.Replace(result, fmt.Sprintf(`[image:%s]`, v[1]), "", -1)
result = strings.Replace(result, fmt.Sprintf(`[image:%s]\n`, v[1]), "", -1)
}
if result == "" {
return nil
+15
View File
@@ -278,3 +278,18 @@ func (sender *Sender) Disappear(lifetime ...time.Duration) {
func (sender *Sender) Finish() {
}
func (sender *Sender) GetUserName() string {
switch sender.Message.(type) {
case *message.PrivateMessage:
m := sender.Message.(*message.PrivateMessage)
return m.Sender.Nickname
case *message.TempMessage:
m := sender.Message.(*message.TempMessage)
return m.Sender.Nickname
case *message.GroupMessage:
m := sender.Message.(*message.GroupMessage)
return m.Sender.Nickname
}
return ""
}
+4
View File
@@ -252,3 +252,7 @@ func (sender *Sender) Disappear(lifetime ...time.Duration) {
func (sender *Sender) Finish() {
}
func (sender *Sender) GetUserName() string {
return sender.Message.Chat.Username
}
+4
View File
@@ -204,3 +204,7 @@ func (sender *Sender) Finish() {
}
sender.Wait <- sender.Responses
}
func (sender *Sender) GetUserName() string {
return ""
}