From 75d9c4deb48d4a6b9ac061082e39a86d337b3b28 Mon Sep 17 00:00:00 2001 From: icarus-ai <82353054+icarus-ai@users.noreply.github.com> Date: Sat, 18 Dec 2021 17:31:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=9F=B3=E5=A4=B4=E5=89=AA=E5=AD=90?= =?UTF-8?q?=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 生成石头剪子布 --- message/marketface.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/message/marketface.go b/message/marketface.go index 8f594829..2785d361 100644 --- a/message/marketface.go +++ b/message/marketface.go @@ -66,3 +66,32 @@ func NewDice(value int32) IMessageElement { MagicValue: fmt.Sprintf("rscType?1;value=%v", value-1), } } + +type FingerGuessingElement struct { + *MarketFaceElement + Value int32 + Name string +} + +var fingerGuessingName = map[int32]string{ + 0: "石头", + 1: "剪刀", + 2: "布", +} + +func NewFingerGuessing(value int32) IMessageElement { + // value 0石头, 1剪子, 2布 + if value < 0 || value > 2 { + return nil + } + return &MarketFaceElement{ + Name: "[猜拳]", + FaceId: []byte{131, 200, 162, 147, 174, 101, 202, 20, 15, 52, 129, 32, 167, 116, 72, 238}, + TabId: 11415, + ItemType: 6, + SubType: 3, + MediaType: 0, + EncryptKey: []byte{55, 100, 101, 51, 57, 102, 101, 98, 99, 102, 52, 53, 101, 54, 100, 98}, + MagicValue: fmt.Sprintf("rscType?1;value=%v", value), + } +} From e70075100893631bb5e10ad51a3e5b83e4d73024 Mon Sep 17 00:00:00 2001 From: icarus-ai <82353054+icarus-ai@users.noreply.github.com> Date: Sat, 18 Dec 2021 17:35:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A7=A3=E6=9E=90=E7=8C=9C=E6=8B=B3&?= =?UTF-8?q?=E9=9A=8F=E6=9C=BA=E9=AA=B0=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 安卓QQ发来的骰子Name值是随机骰子 --- message/message.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/message/message.go b/message/message.go index d3501273..b2324f60 100644 --- a/message/message.go +++ b/message/message.go @@ -486,7 +486,7 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement { EncryptKey: elem.MarketFace.GetKey(), MagicValue: utils.B2S(elem.MarketFace.Mobileparam), } - if face.Name == "[骰子]" { + if face.Name == "[骰子]" || face.Name == "[随机骰子]" { return []IMessageElement{ &DiceElement{ MarketFaceElement: face, @@ -498,6 +498,17 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement { }, } } + if face.Name == "[猜拳]" { + v := strings.SplitN(face.MagicValue, "=", 2)[1] + t, _ := strconv.ParseInt(v, 10, 32) + return []IMessageElement{ + &FingerGuessingElement{ + MarketFaceElement: face, + Value: int32(t), + Name : fingerGuessingName[int32(t)], + }, + } + } return []IMessageElement{face} } if elem.NotOnlineImage != nil {