update
This commit is contained in:
@@ -1,9 +1,22 @@
|
|||||||
package core
|
package core
|
||||||
|
|
||||||
var Pushs = map[string]func(int, string){}
|
var Pushs = map[string]func(int, string){}
|
||||||
|
var GroupPushs = map[string]func(int, int, string){}
|
||||||
|
|
||||||
func Push(class string, uid int, content string) {
|
func Push(class string, uid int, content string) {
|
||||||
if push, ok := Pushs[class]; ok {
|
if push, ok := Pushs[class]; ok {
|
||||||
push(uid, content)
|
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) {
|
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}}})
|
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/MiraiGo/message"
|
||||||
"github.com/Mrs4s/go-cqhttp/coolq"
|
"github.com/Mrs4s/go-cqhttp/coolq"
|
||||||
|
"github.com/cdle/sillyGirl/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Sender struct {
|
type Sender struct {
|
||||||
Message interface{}
|
Message interface{}
|
||||||
matches [][]string
|
matches [][]string
|
||||||
}
|
chat *core.Chat
|
||||||
|
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) GetContent() string {
|
func (sender *Sender) GetContent() string {
|
||||||
@@ -148,6 +139,10 @@ func (sender *Sender) IsMedia() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) Reply(msg interface{}) error {
|
func (sender *Sender) Reply(msg interface{}) error {
|
||||||
|
if sender.chat != nil {
|
||||||
|
sender.chat.Push(msg.(string))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
switch sender.Message.(type) {
|
switch sender.Message.(type) {
|
||||||
case *message.PrivateMessage:
|
case *message.PrivateMessage:
|
||||||
m := sender.Message.(*message.PrivateMessage)
|
m := sender.Message.(*message.PrivateMessage)
|
||||||
@@ -186,3 +181,19 @@ func (sender *Sender) Reply(msg interface{}) error {
|
|||||||
}
|
}
|
||||||
return nil
|
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 {
|
type Sender struct {
|
||||||
Message *tb.Message
|
Message *tb.Message
|
||||||
matches [][]string
|
matches [][]string
|
||||||
|
chat *core.Chat
|
||||||
}
|
}
|
||||||
|
|
||||||
var tg = core.NewBucket("tg")
|
var tg = core.NewBucket("tg")
|
||||||
@@ -43,10 +44,12 @@ func init() {
|
|||||||
core.Pushs["tg"] = func(i int, s string) {
|
core.Pushs["tg"] = func(i int, s string) {
|
||||||
b.Send(&tb.User{ID: i}, s)
|
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)
|
b.Handle(tb.OnText, Handler)
|
||||||
logs.Info("监听telegram机器人")
|
logs.Info("监听telegram机器人")
|
||||||
b.Start()
|
b.Start()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) GetContent() string {
|
func (sender *Sender) GetContent() string {
|
||||||
@@ -128,6 +131,10 @@ func (sender *Sender) IsMedia() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) Reply(rt interface{}) error {
|
func (sender *Sender) Reply(rt interface{}) error {
|
||||||
|
if sender.chat != nil {
|
||||||
|
sender.chat.Push(rt.(string))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
var r tb.Recipient
|
var r tb.Recipient
|
||||||
var options = []interface{}{}
|
var options = []interface{}{}
|
||||||
if !sender.Message.FromGroup() {
|
if !sender.Message.FromGroup() {
|
||||||
@@ -154,5 +161,14 @@ func (sender *Sender) Reply(rt interface{}) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (sender *Sender) RecallGroupMessage() 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)
|
return b.Delete(sender.Message)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user