[mirai:at:1234567890]
我看不懂,它似乎在插件中是这样的:[CQ:at,qq=1234567890]
什么意思啊我趣,vscode看了都要报错的数据,dice!文档里好像也没有
怎么利用这个东西啊,难道… string.sub(msg,11,20)

  • 简律纯实际上,把 “%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)

会了,使用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)

        说点什么吧...