update
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package im
|
package im
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
type Sender interface {
|
type Sender interface {
|
||||||
GetUserID() int
|
GetUserID() int
|
||||||
GetChatID() int
|
GetChatID() int
|
||||||
@@ -17,8 +19,9 @@ type Sender interface {
|
|||||||
GetContent() string
|
GetContent() string
|
||||||
IsAdmin() bool
|
IsAdmin() bool
|
||||||
IsMedia() bool
|
IsMedia() bool
|
||||||
Reply(interface{}) error
|
Reply(...interface{}) error
|
||||||
RecallGroupMessage() error
|
Delete() error
|
||||||
|
Disappear(lifetime ...time.Duration)
|
||||||
}
|
}
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
@@ -97,10 +100,14 @@ func (sender *Faker) IsMedia() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Faker) Reply(msg interface{}) error {
|
func (sender *Faker) Reply(msgs ...interface{}) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Faker) RecallGroupMessage() error {
|
func (sender *Faker) Delete() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (sender *Faker) Disappear(lifetime ...time.Duration) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -224,3 +224,7 @@ func init() {
|
|||||||
bot.SendGroupMessage(int64(i), &message.SendingMessage{Elements: []message.IMessageElement{&message.AtElement{Target: int64(j)}, &message.TextElement{Content: s}}})
|
bot.SendGroupMessage(int64(i), &message.SendingMessage{Elements: []message.IMessageElement{&message.AtElement{Target: int64(j)}, &message.TextElement{Content: s}}})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (sender *Sender) Temporary() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
+8
-2
@@ -6,6 +6,7 @@ import (
|
|||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/message"
|
"github.com/Mrs4s/MiraiGo/message"
|
||||||
"github.com/Mrs4s/go-cqhttp/coolq"
|
"github.com/Mrs4s/go-cqhttp/coolq"
|
||||||
@@ -138,7 +139,8 @@ func (sender *Sender) IsMedia() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) Reply(msg interface{}) error {
|
func (sender *Sender) Reply(msgs ...interface{}) error {
|
||||||
|
msg := msgs[0]
|
||||||
if sender.chat != nil {
|
if sender.chat != nil {
|
||||||
sender.chat.Push(msg)
|
sender.chat.Push(msg)
|
||||||
return nil
|
return nil
|
||||||
@@ -182,7 +184,7 @@ func (sender *Sender) Reply(msg interface{}) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) RecallGroupMessage() error {
|
func (sender *Sender) Delete() error {
|
||||||
switch sender.Message.(type) {
|
switch sender.Message.(type) {
|
||||||
case *message.GroupMessage:
|
case *message.GroupMessage:
|
||||||
sender.chat = &core.Chat{
|
sender.chat = &core.Chat{
|
||||||
@@ -197,3 +199,7 @@ func (sender *Sender) RecallGroupMessage() error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (sender *Sender) Disappear(lifetime ...time.Duration) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
+19
-22
@@ -14,7 +14,7 @@ import (
|
|||||||
type Sender struct {
|
type Sender struct {
|
||||||
Message *tb.Message
|
Message *tb.Message
|
||||||
matches [][]string
|
matches [][]string
|
||||||
chat *core.Chat
|
Duration *time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
var tg = core.NewBucket("tg")
|
var tg = core.NewBucket("tg")
|
||||||
@@ -130,11 +130,9 @@ func (sender *Sender) IsMedia() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) Reply(rt interface{}) error {
|
func (sender *Sender) Reply(msgs ...interface{}) error {
|
||||||
if sender.chat != nil {
|
msg := msgs[0]
|
||||||
sender.chat.Push(rt)
|
var rt *tb.Message
|
||||||
return nil
|
|
||||||
}
|
|
||||||
var r tb.Recipient
|
var r tb.Recipient
|
||||||
var options = []interface{}{}
|
var options = []interface{}{}
|
||||||
if !sender.Message.FromGroup() {
|
if !sender.Message.FromGroup() {
|
||||||
@@ -144,31 +142,30 @@ func (sender *Sender) Reply(rt interface{}) error {
|
|||||||
options = []interface{}{&tb.SendOptions{ReplyTo: sender.Message}}
|
options = []interface{}{&tb.SendOptions{ReplyTo: sender.Message}}
|
||||||
}
|
}
|
||||||
var err error
|
var err error
|
||||||
switch rt.(type) {
|
switch msg.(type) {
|
||||||
case error:
|
case error:
|
||||||
_, err = b.Send(r, fmt.Sprintf("%v", rt), options...)
|
rt, err = b.Send(r, fmt.Sprintf("%v", msg), options...)
|
||||||
case []byte:
|
case []byte:
|
||||||
_, err = b.Send(r, string(rt.([]byte)), options...)
|
rt, err = b.Send(r, string(msg.([]byte)), options...)
|
||||||
case string:
|
case string:
|
||||||
_, err = b.Send(r, rt.(string), options...)
|
rt, err = b.Send(r, msg.(string), options...)
|
||||||
case *http.Response:
|
case *http.Response:
|
||||||
_, err = b.SendAlbum(r, tb.Album{&tb.Photo{File: tb.FromReader(rt.(*http.Response).Body)}}, options...)
|
_, err = b.SendAlbum(r, tb.Album{&tb.Photo{File: tb.FromReader(msg.(*http.Response).Body)}}, options...)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
sender.Reply(err)
|
sender.Reply(err)
|
||||||
|
}
|
||||||
|
if rt != nil {
|
||||||
|
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) RecallGroupMessage() error {
|
func (sender *Sender) Delete() error {
|
||||||
cid := sender.GetChatID()
|
msg := *sender.Message
|
||||||
if cid == 0 {
|
return b.Delete(&msg)
|
||||||
return nil
|
}
|
||||||
}
|
|
||||||
sender.chat = &core.Chat{
|
func (sender *Sender) Disappear(lifetime ...time.Duration) {
|
||||||
Class: sender.GetImType(),
|
|
||||||
ID: sender.GetChatID(),
|
|
||||||
UserID: sender.GetUserID(),
|
|
||||||
}
|
|
||||||
return b.Delete(sender.Message)
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user