plainText
会按照顺序数量逐次替换mention对应字符串.
例如,发送的消息为:
@张三 你好
Content copied to clipboard
此时收到的消息中的 content为
<@!123456> 你好
Content copied to clipboard
那么就会根据mentions的数据今天替换,最终的 plainText 的值为:
你好
Content copied to clipboard
⚠️ 注意!此处的 你好
前面是大概率有空格的,因为目前在默认情况下不会对消息有过多的操作。 因此如果有需要,请注意在判断之前先进行 trim
等操作来消除空格。
如果发送的消息为:
@张三 <@!123456> 你好
Content copied to clipboard
注意,此时消息发送者伪造了一个假的 <@!123456>
, 这时收到的消息的content为:
<@!123456> <@!123456> 你好
Content copied to clipboard
plainText 便会根据 mentions
中的数据,只清除其中的第一个 <@!123456>
, 最终的 plainText 便会表现为:
<@!123456> 你好
Content copied to clipboard
对于 @全体成员 同理,且如果存在@全体成员,只会清理一次。
如果你想要得到本次消息最原始的 content
,请从 messages 中获取唯一的 Text 类型元素.