Skip to content

Commit 31044f8

Browse files
committed
bugfix:some message replyer not exist
1 parent 9ca1d1e commit 31044f8

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

handler/quotation_handler.go

+20-11
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ func (y *quotationsHandler) CheckUpdate(b *gotgbot.Bot, ctx *ext.Context) bool {
9696
// 如果是关键词 直接触发
9797
for _, i := range {
9898
if strings.Contains(msg, i) {
99-
crossR = true
10099
return true
101100
}
102101
}
@@ -108,7 +107,7 @@ func (y *quotationsHandler) CheckUpdate(b *gotgbot.Bot, ctx *ext.Context) bool {
108107
return getRandomProbability(0.75)
109108
}
110109
for key := range quotationsKey {
111-
if strings.HasPrefix(msg, key) {
110+
if strings.HasPrefix(msg, key) && len(msg) >= 21 {
112111
return getRandomProbability(0.5)
113112
}
114113
}
@@ -130,16 +129,19 @@ func (y *quotationsHandler) HandleUpdate(b *gotgbot.Bot, ctx *ext.Context) error
130129
if err != nil {
131130
m = "s~b~"
132131
} else {
133-
replyer := ctx.Message.ReplyToMessage.From.Username
134-
if replyer == "" {
135-
replyer = ctx.Message.ReplyToMessage.From.FirstName + " " + ctx.Message.ReplyToMessage.From.LastName
136-
} else {
137-
replyer = " @" + replyer + " "
132+
var replyer string
133+
if ctx.Message.ReplyToMessage != nil {
134+
replyer = ctx.Message.ReplyToMessage.From.Username
135+
if replyer == "" {
136+
replyer = ctx.Message.ReplyToMessage.From.FirstName + " " + ctx.Message.ReplyToMessage.From.LastName
137+
} else {
138+
replyer = " @" + replyer + " "
139+
}
138140
}
139141
if quotationsKey[ctx.EffectiveMessage.Text] == anxiety {
140142
m = strings.ReplaceAll(m, "<name>", replyer)
141143
}
142-
if quotationsKey[ctx.EffectiveMessage.Text] == couple {
144+
if quotationsKey[ctx.EffectiveMessage.Text] == couple && ctx.Message.ReplyToMessage != nil {
143145
if ctx.Message.From.Username == ctx.Message.ReplyToMessage.From.Username {
144146
m = replyer + " " + " 单身狗,略略略"
145147
} else {
@@ -154,9 +156,13 @@ func (y *quotationsHandler) HandleUpdate(b *gotgbot.Bot, ctx *ext.Context) error
154156
}
155157
}
156158
}
159+
var relayToid int64
160+
if ctx.Message.ReplyToMessage != nil {
161+
relayToid = ctx.Message.ReplyToMessage.MessageId
162+
}
157163
_, err = b.SendMessage(ctx.Message.Chat.Id, m, &gotgbot.SendMessageOpts{
158164
ReplyParameters: &gotgbot.ReplyParameters{
159-
MessageId: ctx.Message.ReplyToMessage.MessageId,
165+
MessageId: relayToid,
160166
ChatId: ctx.Message.Chat.Id,
161167
},
162168
})
@@ -215,6 +221,9 @@ func changeText(ctx *ext.Context) {
215221
ctx.EffectiveMessage.Text = "t"
216222
}
217223
}
224+
if ctx.EffectiveMessage.Text == "" {
225+
ctx.EffectiveMessage.Text = "神经"
226+
}
218227
}
219228
// 如果是关键词 直接触发
220229
msg := ctx.EffectiveMessage.Text
@@ -243,13 +252,14 @@ func changeText(ctx *ext.Context) {
243252
}
244253
}
245254
if ctx.Message.Sticker != nil {
246-
if getRandomProbability(0.4) {
255+
if getRandomProbability(0.4) || ctx.Message.ReplyToMessage != nil {
247256
ctx.EffectiveMessage.Text = "mua"
248257
} else if getRandomProbability(0.3) {
249258
ctx.EffectiveMessage.Text = "神经"
250259
} else {
251260
ctx.EffectiveMessage.Text = "t"
252261
}
262+
return
253263
}
254264
for key, value := range quotationsKey {
255265
if strings.HasPrefix(msg, key) {
@@ -259,5 +269,4 @@ func changeText(ctx *ext.Context) {
259269
if ctx.EffectiveMessage.Text == "" {
260270
ctx.EffectiveMessage.Text = "神经"
261271
}
262-
263272
}

0 commit comments

Comments
 (0)