Git Product home page Git Product logo

bilibilijudge's Introduction

风纪委员会自动投票

请注意:关于LICENSE,在Apache-2.0的基础上增加一条:禁止上传到CSDN等网站盈利,禁止放在某宝某鱼等平台贩卖,否则官方找上门就删库跑路

本脚本通过使用Github Action来实现B站风纪委员的自动投票功能,喜欢请给我点个STAR吧!

如果你不是风纪委员,在符合风纪委员申请条件的情况下,本脚本会自动帮你申请

投票时间是早上八点,如果有需要请自行修改.github/workflows/Judge.yml中的时间,时间是UTC时区的时间,需要将时位+8才是北京时间

使用本脚本即代表你放弃追究开发者任何由使用本脚本而造成的责任,所有的责任由使用者自行承担!

赞助

点击下面的Badge其中一个就可以跳转到相应页面,感谢老板的支持!

前往爱发电赞助 使用微信赞助 使用支付宝赞助

目录

从零开始的使用指北☞

使用方法

1、Fork本仓库,直接点击右上角的Fork图标,然后将项目选择到你的账户下即可

2、进入设置,添加变量必需变量csrfsessdata,另有giveupdelay可选变量可以添加

请注意:你无需在仓库的secrets内设置名为GITHUB_TOKEN的变量,该名称本身就是指定为自己账户下名为GITHUB_TOKEN的密钥,如果你在仓库的secrets内设置将会被Github提示无效

如何获取变量内容?请点这里

保活策略

因为Github Action在仓库60天内没有任何Push的时候会禁用你的Action,这时候我们就要进行保活

保活Action已经写好了,但是这里有一些步骤是需要你进行的,请看下面的图片生成GITHUB_TOKEN以便让脚本造成的更改能够正常推送入你的仓库

到这里勾选完以后点绿绿的Generate token就可以了

变量获取

csrf与sessdata

首先我们打开B站,直接在B站的网址后面加上/judgement,或者直接访问https://bilibili.com/judgement,按下键盘上的F12,打开开发者工具

接着我们点到上面的Network(有些写的是网络,例如Edge),在左边找到index项,然后点击它,在右侧找到cookie这一个键,然后复制SESSDATA=;的内容作为sessdatabili_jct=;的内容作为csrf

请注意:不要把分号弄进去了!不要分号!不要分号!(重要的事情说三遍)

giveup与delay

这是两个我设定的值,因为B站对于案件有放弃这一说,所以我对它特别加了个开关

如果你不想让脚本对案件采用放弃的操作,那么就要添加Giveup这个值,而且必须填上False,否则一律当允许放弃处理;还有一个delay是不放弃的话等待多长时间以后再次进行操作计算,以秒为单位,必须是整数,不填就默认为300

JudgeProportion

这是一个设定赞成比例的值,默认设定的是0.7,即赞成票占全部的70%就选择赞成中票数较高的操作,或合规票占全部的70%(即违规占30%)时就投合规,否则进入放弃/等待阶段,这个数字必须是大于0且小于1的小数!若输入无效数字按默认值处理!

脚本测试

我们先进入Action界面,启用Action(因为我这里忘记截图了,所以用我隔壁的那个网易云游戏签到脚本来顶一下)

然后我们进入对应的脚本,启用脚本,并进行测试

只要打了绿色的勾勾就是成功了,然后你就不用管它了,它会自己运行的

脚本更新

自动更新(推荐)

点击这里安装插件,可以选择所有仓库,也可以指选择你Fork的仓库(当然至少要选择fork的仓库对吧,要不然怎么更新),然后不管它就好了

详细步骤可以看下面的图片

手动更新

具体看图,请注意:以下操作均在自己的仓库进行!

这样你就完成了手动更新操作!

Q&A

main.VariableError: Essential variable(s) not available!

这种情况下请检查你的变量是否填好,如果csrfsessdata不填好就会出现这个错误

如何检查自己的变量是否填好?你可以点开当次Action记录中的Run Script这一节,然后点击Run python3 Main.py "$csrf" "$sessdata" "$giveup" "$delay" "$JudgeProportion"这一行把它展开,看看自己的变量是否填写完整,它不会显示你填写的变量,但是填了的变量会以***来显示来告诉你你填写了

用户名一节:KeyError
Traceback (most recent call last):
  File "Main.py", line 112, in <module>
    Main()
  File "Main.py", line 67, in Main
    Userinfo,UserinfoParsed=GetInfo(sessdata)
  File "/home/runner/work/bilibiliJudge/bilibiliJudge/GetJudgerInfo.py", line 18, in GetInfo
    '用户名': info_loads['data']['uname'][0]+ ('*' * int(len(info_loads['data']['uname'])-2)) +info_loads['data']['uname'][len(info_loads['data']['uname'])-1:],
KeyError: 'data'

GetJudgerInfo.py文件中,第十二行

    info_loads=js.loads(info.text)

下面加多一行print(info_loads),如下面这样

    info_loads=js.loads(info.text)
    print(info_loads)

并发起issue询问(当然你能自己看懂是什么情况是最好的)

获取案件一节:KeyError
  File "Main.py", line 111, in <module>
    Main()
  File "Main.py", line 80, in Main
    cid=GetNew(csrf,sessdata)
  File "/home/runner/work/bilibiliJudge/bilibiliJudge/GetNewCase.py", line 19, in GetNew
    result=dataloads['data']['id']
KeyError: 'data'

请找到GetNewCase.py文件,在第17行把下面这行代码的#删掉,并注意对齐

    dataloads=js.loads(data.text)
    # print(dataloads)  # 第17行
    if(dataloads['code']==25014 or dataloads['code']==25008): return True

删完应该像下面这样

    dataloads=js.loads(data.text)
    print(dataloads)
    if(dataloads['code']==25014 or dataloads['code']==25008): return True

然后将运行结果附在issue里面询问(当然能自己解决最好)

免责声明

学习项目,请勿滥用!如果有因滥用造成的封号、删除账户等情况或违反相关法律所造成的责任,本人拒不承担!

bilibilijudge's People

Contributors

actions-user avatar elainamoe avatar gamernotitle avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.