问问回复这个是什么原因qwq
调用E:\Mirai\DICE271\plugin\WISTER1.LUA函数getMusic失败!
E:\Mirai\DiceQQ号\plugin\json.lua:184: unexpected character ‘�’ at line 1 col 1

    Cobalt 嗯…是解析返回的json数据出错,可能是没搜到,其他歌可以吗?我这边是可以正常使用的

      Qwekkx 都不可以,我尝试了中文日语韩文英文歌名都是这个回复

        先感恩楼主的代码参考,后来我更换了这个网页的api
        似乎是pc端的,测试下来搜索结果应该和app是一致的,而且用歌名+歌手的关键词可以比较精准地搜索歌曲,有需求的可以试试看(编码的函数里需要把空格换回+)
        如果还没搜到就是官方api接口逻辑的锅

          aphonic 老师!请问手机端可以做得到吗?!或者说,该怎么更改原有代码里的api。

            dmbj1514 啊我是指这个api好像是从wyy的pc端抓包得来的,脚本使用时没有客户端的限制
            local api="…"这里定义了访问的api地址,改成新的地址,调整polar的拼接规则和返回的json数据在解析之后输出的几个参数,重新贴回最后return的xml卡片就行,边学lua边改的,比较粗暴【挠头

              aphonic 谢谢你,用这个api写了新的一版,明天发上来。这就是我找了很久的那种api,结果也终于可以不那么奇怪了,好耶

              aphonic 现在的问题是获取到的数据,vip歌曲是无法播放的,你那边有发现如何辨别出vip歌曲的办法吗(头秃.jpg)

                Qwekkx 最开始排查数据的时候我对比了大约十首VIP歌曲,觉得fee=1这个字段值可能是用来标识vip歌曲的,我自己用的时候没有加筛选逻辑啦,偷懒返回了多个结果直接挑能播的【。

                测试用的数据:https://music.163.com/api/search/pc?s=radwimps&type=1&limit=10
                里面只有第5首 Light The Light是非vip,其他9首都是vip且fee都为1

                  Qwekkx 好耶!学到用offset了!提醒一下大家偏移量编号是从0开始的【废话
                  有个报错,假如歌名中包含#,offset会取不到值,attempt to concatenate a nil value (local 'offset')
                  我指定了搜索位置必须在歌名后匹配#+一个数字的格式,这样拆分字符串时会精准些(?)仅供参考【心虚

                   local offsetstring = string.match(rest, "#(%d*)",#rest - 1)
                      local offset
                      local isOffset = 0
                      if (offsetstring ~= nil) then
                          --存在偏移
                          offset = tonumber(offsetstring)
                          rest = string.sub(rest, 1,#rest-2)
                          isOffset = 1
                      else
                          offset = 0
                      end

                    出现了新问题,把旧版的wisteriamusic.lua删掉,然后放进去新的ver2文件再重命名成wisteriamusic,反而出现调用getmusic函数失败了……之前旧版反而没这个问题 Orz
                    错误代码长这样:
                    调用/storage/emulated/0/Android/data/io.github.mzdluo123.mirai.android/files/Dice771541991/plugin/wisteriamusic.lua函数getMusic失败!
                    …rai.android/files/Dice771541991/plugin/wisteriamusic.lua:39: attempt to index a nil value (field ‘result’)

                      5 天 后

                      无法调用,是第一次使用,也替换了json.lua,别的脚本正常,这个不行,错误代码:
                      调用F:\Mirai Dice\Dicexxxxxxx\plugin\WisteriaMusic_Ver02.lua函数getMusic失败!
                      …Mirai Dice\Dicexxxxxxx\plugin\WisteriaMusic_Ver02.lua:34: module ‘json’ not found:

                        这边也是第一次加文件之后出现的错误orzzzz错误代码是↓

                        调用/root/server/server_core/miluo/Dice2954758344/plugin/WisteriaMusic_Ver02.lua函数getMusic失败!
                        …core/miluo/Dice2954758344/plugin/WisteriaMusic_Ver02.lua:38: attempt to index a nil value (field ‘result’)