[mirai:at:1234567890] 我看不懂,它似乎在插件中是这样的:[CQ:at,qq=1234567890] 什么意思啊我趣,vscode看了都要报错的数据,dice!文档里好像也没有 怎么利用这个东西啊,难道… string.sub(msg,11,20)
正则 不会就去问简子姐
正则 不会
会了,使用string.match(msg,“%[CQ:at,qq=([%d]*)%]”)就可以提取了,不过如果消息中含有多个at就只能提取最前的一个。
wawdili
local str = "2753364619 3581059017 24578134695" local nums = {} str:gsub("%d+", function(num) table.insert(nums, tonumber(num)) end) for i=1,#nums do msg:echo(nums[i]) end
简律纯实际上,把 “%d+” 换成 “%[CQ:at,qq=([%d]*)%]” 可能更有用
local str = msg.fromMsg local nums = {} str:gsub(“%[CQ:at,qq=([%d]*)%]”, function(num) table.insert(nums, tonumber(num)) end)
wawdili 都行