bilibili

使用《署名—非商业性使用—相同方式共享 4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权。
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans


基本信息

  • 作者:兔兔
  • 联系方式:QQ:1142145792
  • 文件版本:v1.4
  • 更新日期:2022/08/31
  • 简介:发送av/bv号自动回复对应视频的封面、标题、简介及部分数据
  • 关键词av______ BV______
  • 许可协议:CC-BY-NC-SA 4.0
  • 最低版本限制:2.6.1(590)

详细介绍

支持指令包括:BV https://www.bilibili.com/video/BV http://www.bilibili.com/video/BV www.bilibili.com/video/BV bilibili.com/video/BV av https://www.bilibili.com/video/av http://www.bilibili.com/video/av www.bilibili.com/video/av bilibili.com/video/av
把能想到的可能会指向B站视频的都做了,欢迎补充
2022.02.10更新:新增了m.bilibili.com系列
2022.02.21更新:修复了av实际上无法判定的问题
另,手机客户端生成的短链,即b23.tv,会重定向至b站原网址,但目前技术力不足以解析……(;´Д`)极大概率是咕了

效果图


下载地址

bilibili.zip
1kB
jsonlua.zip
3kB

使用方法

590及以上:将两个文件全部放入DiceQQ/plugin文件夹内(如果已有json.lua可以只放bilibili.lua)
590以下:就算放了也不能用哦☆

    Stardust·减 指令应该只会识别开头吧,链接是在结尾的,个人感觉是不会触发指令的……

    (补充:但如果要做成模糊匹配模式下的自定义回复是会触发的,可能最好调一下dicemaid:off。)

    4 天 后

    Stardust·减 今天试了一下(直接拿了bot发的消息原封不动转发回bot的聊天窗口),确认是不会触发的。
    但如果使用自定义回复的模糊匹配,并在回复模式里写入这段脚本的话,我认为是100%会触发的(未经证实,但看了shiki在群内给新人示范模糊匹配)
    需要我为了预防这个再写点什么吗()

    Mocichun 压缩包里面已经包含了bilibili.lua本体和json.lua
    不过说得好,我以后如果有脚本发布的话把两个脚本分开放吧,免得误会(

    (更新:因为第一次打包的时候忘了所以干脆把两个文件分开发了!)

    8 天 后

    遇到了无法获取 av 号的情况。
    例如:av1145140(BV1Tx411T75a),用 av 号无法解析,但改用对应的 BV 号则正常。

      Bejukoro 看了一下,应该是因为一开始用av号测试的时候用的是已经不存在了的av号av10492,导致误以为返回值是正确的,我是笨蛋。
      同时修复了一些其他问题。
      修复版本已经发布,非常感谢反馈。
      同时将json.luabilibili.lua分开打包上传了。

      7 天 后

      调用E:\骰子\hd\Dice2099352387\plugin\bilibili.lua函数bili_BV失败!
      E:\骰子\hd\Dice2099352387\plugin\bilibili.lua:14: module ‘json’ not found:
      no field package.preload[‘json’]
      no file ‘E:\楠板瓙\hd\Dice2099352387\plugin\json.lua’
      no file ‘E:\楠板瓙\hd\Dice2099352387\plugin\json\init.lua’
      no file ‘E:\楠板瓙\hd\Diceki\lua\json.lua’
      no file ‘E:\楠板瓙\hd\Diceki\lua\json\init.lua’
      no file ‘E:\楠板瓙\hd\jre\bin\lua\json.lua’
      no file ‘E:\楠板瓙\hd\jre\bin\lua\json\init.lua’
      no file ‘E:\楠板瓙\hd\jre\bin\json.lua’
      no file ‘E:\楠板瓙\hd\jre\bin\json\init.lua’
      no file ‘E:\楠板瓙\hd\jre\bin..\share\lua\5.4\json.lua’
      no file ‘E:\楠板瓙\hd\jre\bin..\share\lua\5.4\json\init.lua’
      no file ‘.\json.lua’
      no file ‘.\json\init.lua’
      no file ‘E:\楠板瓙\hd\Diceki\lua\json.dll’
      no file ‘E:\楠板瓙\hd\Diceki\lib\json.dll’
      no file ‘E:\楠板瓙\hd\jre\bin\json.dll’
      no file ‘E:\楠板瓙\hd\jre\bin..\lib\lua\5.4\json.dll’
      no file ‘E:\楠板瓙\hd\jre\bin\loadall.dll’
      no file ‘.\json.dll’

      问问这个是什么情况……装第一个骰子还好好的,第二个就不行了

        ksut0 因为文件用了中文路径,你必须将骰娘移至仅含ASCII字符集(英文、数字、部分英文符号)的路径后才可运行一切需要json.lua支持的脚本。

          3 个月 后

          楚茶 我这里获取是没有问题的,你改过文件了吗?看起来更像是从右括号到最终链接之间的文本全部消失了

            Lily Black我这边也是正常的,这只能是层主改了文件叭,建议看一下return部分是不是改完少了右括号

            9 天 后

            也没想到会再碰到新状况(?)
            今天看了个以前那种 只有会员知道的世界 的视频,简单来说就是 游客用户看不见,只有通过了答题(那时B站还是魔鬼100题)的用户才能看见,也就是说对非正式会员用户隐藏 的视频,因为这类视频的一大特征是播放量不是数字或几万而是 “--” ,所以本着大胆假设小心求证的心理把它交给骰娘分析了一下,主要也是想偷偷知道它的播放量到底是多少
            BV18s41167Ze←原BV号及对应api网址(不是视频网址)
            然后很意外地发现视频直接无法访问了,返回值如下:

            {"code":-403,"message":"访问权限不足","ttl":1}

            我并没有针对各种报错进行相应的输出,这个是我的锅

            我一开始是没有调取返回值的,就以为是视频不存在,但我很清楚这个视频是存在的,于是手动上浏览器复制了api网址并调取——

            {"code":0,"message":"0","ttl":1,"data":{"bvid":"BV18s41167Ze","aid":6075558,"videos":1,"tid":21,"tname":"日常","copyright":2,"pic":"http://i2.hdslb.com/bfs/archive/8e98bdad42aa38ab3be4c9c24a9fd4b9c4903040.jpg","title":"陸揚妄想曼陀羅_LuYang Delusional Mandala","pubdate":1472483666,"ctime":1497430579,"desc":"转自土豆http://www.tudou.com/programs/view/NuzJw5Fh4Vg/ 陸揚 妄想曼陀羅_LuYang Delusional Mandala\n转自土豆http://www.tudou.com/programs/view/NuzJw5Fh4Vg/","desc_v2":[{"raw_text":"转自土豆http://www.tudou.com/programs/view/NuzJw5Fh4Vg/ 陸揚 妄想曼陀羅_LuYang Delusional Mandala\n转自土豆http://www.tudou.com/programs/view/NuzJw5Fh4Vg/","type":1,"biz_id":0}],"state":0,"duration":987,"rights":{"bp":0,"elec":0,"download":1,"movie":0,"pay":0,"hd5":0,"no_reprint":0,"autoplay":0,"ugc_pay":0,"is_cooperation":0,"ugc_pay_preview":0,"no_background":0,"clean_mode":0,"is_stein_gate":0,"is_360":0,"no_share":0,"arc_pay":0,"free_watch":0},"owner":{"mid":8204763,"name":"骷髅死死","face":"http://i0.hdslb.com/bfs/face/fcb3ded0788dd583dd8089c1d1b94e9545f96736.jpg"},"stat":{"aid":6075558,"view":-1,"danmaku":914,"reply":1434,"favorite":11620,"coin":1839,"share":6435,"now_rank":0,"his_rank":0,"like":7292,"dislike":0,"evaluation":"","argue_msg":""},"dynamic":"","cid":9863208,"dimension":{"width":640,"height":360,"rotate":0},"premiere":null,"teenage_mode":0,"is_chargeable_season":false,"no_cache":true,"pages":[{"cid":9863208,"page":1,"from":"vupload","part":"","duration":987,"vid":"","weblink":"","dimension":{"width":640,"height":360,"rotate":0}}],"subtitle":{"allow_submit":false,"list":[]},"is_season_display":false,"user_garb":{"url_image_ani_cut":""},"honor_reply":{}}}

            破案了,访问权限原来是正式会员登录的意思啊。
            然而,单纯的json格式post和这个get并不能做到让骰娘真的登录B站以获得一个访问权限
            虽然以前都不在意,但第一次见识到原来这就叫做只有会员知道的世界啊(……)
            顺便可以发现浏览量是-1而不是我预想中的实际浏览量数字。

            总之确实是非常有趣的一个现象,当然对于修改来说并不是什么难事,除非这个api哪天不按格式出结果了
            (虽然没测试过62004稿件审核中的错误码,没这条件,但已经测试了其他稿件,按规律是可以适用的)

            修改版本已发布,旧版仍然可用,可选择不更新


            (你又在测10492了吼)

            玖璃叶 网页端B站分享里的html嵌入代码并不是用来在群内分享的2333

            1 个月 后
            1 个月 后
            23 天 后

            调用D:\Mirai\Dice2167037761\plugin\bilibili.lua函数bili_BV失败!
            D:\Mirai\Dice2167037761\plugin\json.lua:184: unexpected character ‘�’ at line 1 col 1

            请问这是什么错误呢,之前一直用的好好的,这几天才出现这个情况……

              Aokome 看起来是api挂了,但是b站官方的api怎么会挂……
              可以试试过一段时间重新获取一下之前出错的BV号,如果还是有这个问题的话把你发的BV号也发上来我做一下测试,再不行的话就推个新版本了,虽然无法解决访问不到api的问题但能解决报错的问题

                Lily Black 刚刚又试了一下还是不行,之前的是BV1nN4y1c72F,我又试了几个还是这个报错

                  Aokome 我这里试了下是可以的,很怪
                  你尝试一下直接访问https://api.bilibili.com/x/web-interface/view?bvid=BV1nN4y1c72F
                  回头推个新版本

                  Aokome 修复版本已推,新增了对于api访问失败与api返回无信息的回复,其实就是单纯的加了两个判定
                  但由于我这里无法复现报错,因此实际效果有待测试

                    5 天 后
                    2 个月 后

                    没啥大事但回复一点碎碎念以证明我还活着
                    首先是框架问题,我不会其他框架所以对应图片码我不知道(也懒得找x)麻烦使用其他图片码的骰主自己改了
                    其次是之前自己有生之年终于动用B站账号传视频了,在使用该api查看自己仍在审核中的视频的BV号时,竟然没有出现文档里的62003 稿件审核中代码,而是直接-404 啥都木有
                    API,很神奇吧(笑)
                    审核完成后也就直接是正常视频了……

                    3 个月 后

                    为什么控制台里面写了消息已发出,当时实际却没有收到?确认没有被封控!

                      666999 可能是图片被风控了
                      我已经退坑了,不确定这是不是当前bot的普遍现象(因为刚才水群时出现了其他bot无法发送图片的情况),但如果是这样的话建议修改代码使其不发送图片
                      这份是我拿手头现有的改的

                      bilibili.txt
                      5kB

                        Lily Black 不是图片被风控了,好像是长消息屏蔽,你那个修改版也没用,所以问一下长消息屏蔽咋办……

                          说点什么吧...