update
This commit is contained in:
@@ -1,9 +1,22 @@
|
||||
package core
|
||||
|
||||
var Pushs = map[string]func(int, string){}
|
||||
var GroupPushs = map[string]func(int, int, string){}
|
||||
|
||||
func Push(class string, uid int, content string) {
|
||||
if push, ok := Pushs[class]; ok {
|
||||
push(uid, content)
|
||||
}
|
||||
}
|
||||
|
||||
type Chat struct {
|
||||
Class string
|
||||
ID int
|
||||
UserID int
|
||||
}
|
||||
|
||||
func (ct *Chat) Push(content string) {
|
||||
if push, ok := GroupPushs[ct.Class]; ok {
|
||||
push(ct.ID, ct.UserID, content)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,4 +218,7 @@ func init() {
|
||||
core.Pushs["qq"] = func(i int, s string) {
|
||||
bot.SendPrivateMessage(int64(i), int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: s}}})
|
||||
}
|
||||
core.GroupPushs["qq"] = func(i, j int, s string) {
|
||||
bot.SendGroupMessage(int64(i), &message.SendingMessage{Elements: []message.IMessageElement{&message.AtElement{Target: int64(j)}, &message.TextElement{Content: s}}})
|
||||
}
|
||||
}
|
||||
|
||||
+22
-11
@@ -9,22 +9,13 @@ import (
|
||||
|
||||
"github.com/Mrs4s/MiraiGo/message"
|
||||
"github.com/Mrs4s/go-cqhttp/coolq"
|
||||
"github.com/cdle/sillyGirl/core"
|
||||
)
|
||||
|
||||
type Sender struct {
|
||||
Message interface{}
|
||||
matches [][]string
|
||||
}
|
||||
|
||||
func (sender *Sender) RecallGroupMessage() error {
|
||||
switch sender.Message.(type) {
|
||||
case *message.GroupMessage:
|
||||
m := sender.Message.(*message.GroupMessage)
|
||||
if err := bot.Client.RecallGroupMessage(m.GroupCode, m.Id, m.InternalId); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
chat *core.Chat
|
||||
}
|
||||
|
||||
func (sender *Sender) GetContent() string {
|
||||
@@ -148,6 +139,10 @@ func (sender *Sender) IsMedia() bool {
|
||||
}
|
||||
|
||||
func (sender *Sender) Reply(msg interface{}) error {
|
||||
if sender.chat != nil {
|
||||
sender.chat.Push(msg.(string))
|
||||
return nil
|
||||
}
|
||||
switch sender.Message.(type) {
|
||||
case *message.PrivateMessage:
|
||||
m := sender.Message.(*message.PrivateMessage)
|
||||
@@ -186,3 +181,19 @@ func (sender *Sender) Reply(msg interface{}) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sender *Sender) RecallGroupMessage() error {
|
||||
switch sender.Message.(type) {
|
||||
case *message.GroupMessage:
|
||||
sender.chat = &core.Chat{
|
||||
Class: sender.GetImType(),
|
||||
ID: sender.GetChatID(),
|
||||
UserID: sender.GetUserID(),
|
||||
}
|
||||
m := sender.Message.(*message.GroupMessage)
|
||||
if err := bot.Client.RecallGroupMessage(m.GroupCode, m.Id, m.InternalId); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
+17
-1
@@ -14,6 +14,7 @@ import (
|
||||
type Sender struct {
|
||||
Message *tb.Message
|
||||
matches [][]string
|
||||
chat *core.Chat
|
||||
}
|
||||
|
||||
var tg = core.NewBucket("tg")
|
||||
@@ -43,10 +44,12 @@ func init() {
|
||||
core.Pushs["tg"] = func(i int, s string) {
|
||||
b.Send(&tb.User{ID: i}, s)
|
||||
}
|
||||
core.GroupPushs["tg"] = func(i, j int, s string) {
|
||||
b.Send(&tb.Chat{ID: int64(i)}, s)
|
||||
}
|
||||
b.Handle(tb.OnText, Handler)
|
||||
logs.Info("监听telegram机器人")
|
||||
b.Start()
|
||||
|
||||
}
|
||||
|
||||
func (sender *Sender) GetContent() string {
|
||||
@@ -128,6 +131,10 @@ func (sender *Sender) IsMedia() bool {
|
||||
}
|
||||
|
||||
func (sender *Sender) Reply(rt interface{}) error {
|
||||
if sender.chat != nil {
|
||||
sender.chat.Push(rt.(string))
|
||||
return nil
|
||||
}
|
||||
var r tb.Recipient
|
||||
var options = []interface{}{}
|
||||
if !sender.Message.FromGroup() {
|
||||
@@ -154,5 +161,14 @@ func (sender *Sender) Reply(rt interface{}) error {
|
||||
}
|
||||
|
||||
func (sender *Sender) RecallGroupMessage() error {
|
||||
cid := sender.GetChatID()
|
||||
if cid == 0 {
|
||||
return nil
|
||||
}
|
||||
sender.chat = &core.Chat{
|
||||
Class: sender.GetImType(),
|
||||
ID: sender.GetChatID(),
|
||||
UserID: sender.GetUserID(),
|
||||
}
|
||||
return b.Delete(sender.Message)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user