bilive / bilive_client

基于Node.JS的bilibili账号活跃系统
MIT License
457 stars 109 forks source link

意见反馈及常见问题整理 3 #69

Closed lzghzr closed 6 years ago

lzghzr commented 6 years ago

前两期 #39 #54 本次大部分内容为小黑屋讨论,遗憾的是我不知道有什么有效的方法可以缓解小黑屋问题

  1. 舰队抽奖 在做了
  2. 瓜子兑换硬币挂了 嗯, 准确的说是挂了一个, 现在一天只能换一个硬币了
  3. 多用户分权管理 此功能与初衷不符, 暂不考虑
  4. QQ群 目前只有一个TG群
  5. cmd文件配色 故意的
lovezm commented 6 years ago

建议各位停一下,B站又开始了

另外 @lzghzr 我想问一下自己抓的包的功能加在哪里可以让他每天执行一次 - -

lzghzr commented 6 years ago

加在user.ts里,nextday是一天执行一次,daily是一天执行三次

xanadus0 commented 6 years ago

新版本编译显示以下错误 (Windows 8.1 x64, Node.js v8.11.1)

C:\Users\admin\Downloads\bilive_client>npm install
npm notice created a lockfile as package-lock.json. You should commit this file.

npm WARN bilive_client@1.3.8 No repository field.

added 75 packages in 16.103s

C:\Users\admin\Downloads\bilive_client>npm run build

> bilive_client@1.3.8 build C:\Users\admin\Downloads\bilive_client
> npm run build:tsc && npm-run-posix-or-windows build:copy

> bilive_client@1.3.8 build:tsc C:\Users\admin\Downloads\bilive_client
> tsc --locale zh-cn -p tsconfig.json || exit 0

bilive/listener.ts(136,17): error TS6133: 已声明“_LotteryCheck”,但从未读取其
值。
bilive/listener.ts(218,10): error TS2339: 类型“Listener”上不存在属性“_RoomLis
tener”。
bilive/listener.ts(220,43): error TS2339: 类型“Listener”上不存在属性“_RoomLis
tener”。
bilive/listener.ts(221,15): error TS2339: 类型“Listener”上不存在属性“_RoomLis
tener”。

> bilive_client@1.3.8 build:copy:windows C:\Users\admin\Downloads\bilive_client
> copy .\bilive\options.default.json .\build\bilive\ /Y

已复制         1 个文件。
Colorsssss commented 6 years ago

(node:97049) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'AddRoom' of undefined at Listener._RaffleHandler (/root/bilive_client/build/bilive/listener.js:137:28) at raffleCheck.body.data.forEach.data (/root/bilive_client/build/bilive/listener.js:60:22) at Array.forEach () at Listener._RaffleCheck (/root/bilive_client/build/bilive/listener.js:53:35) at at process._tickCallback (internal/process/next_tick.js:188:7)

AddRoom是什么鬼

lzghzr commented 6 years ago

不小心多加了一些代码,已经去除 看起来添加插件功能很有必要,省得混入一些奇怪的东西

lzghzr commented 6 years ago

@zreo147 不能指定时间 多用户可以使用一个单独的protocol对用户进行区分,在现在的基础上新加一个protocol项就行,虽然改动有点多,但是实现起来应该不难,日志也可以依此分隔开

lzghzr commented 6 years ago

提醒一下,明天14:00以后自动送礼会把活动礼物送掉

youth1996 commented 6 years ago

不送的话会自动送上万的辣条,哈哈,还有人一直留着没送的吗

mengshouer commented 6 years ago

一次送这么多,会被限制吗。。。 光是小号,我就给大号送了400+W的瓜子礼物。。

lzghzr commented 6 years ago

辣条现在不会触发频道广播了,所以还是挺安全的

B站每天那么多礼物,不会管的吧,我自己养勋章的号都被送到20级了

Vector000 commented 6 years ago

没有留意自动送礼,把礼物全送完了QAQ 20级真大佬

lovezm commented 6 years ago

昨天20瞬间23级了....我擦...害怕B站搞我....

lovezm commented 6 years ago

小电视接口可能改了?14:39开始 就没有动静了

yanjun0501 commented 6 years ago

感觉被好站给弄了 不光小电视 @lovezm

lovezm commented 6 years ago

破站不至于吧 活动结束就这样搞

lovezm commented 6 years ago

不过又感觉是根本没礼物 反正只看到有一个监听到抽奖但是没加入 守了半天也没人送小电视

Vector000 commented 6 years ago

改了?我觉得没有吧,哪位大佬做个系统消息的log看看呗

lzghzr commented 6 years ago

咦?又凉了吗

lovezm commented 6 years ago
async jx() {
    if (!this.userData.jx)
        return;

const jxweb = {
    method: 'POST',
    uri: `${index_1.apiLiveOrigin}/activity/v1/MatchDraw/draw`,
    body: `name=jx3&${app_client_1.default.signQueryBase(this.tokenQuery)}`,
    json: true,
    headers: this.headers
};
tools_1.default.Log(this.nickname, '剑侠3活动抽奖', `参与剑侠情缘抽奖成功`);
const jx = await tools_1.default.XHR(jxweb);
await tools_1.default.Sleep(3000);
const jxweb2 = {
    method: 'POST',
    uri: `${index_1.apiLiveOrigin}/activity/v1/MatchDraw/draw`,
    body: `name=jx3&${app_client_1.default.signQueryBase(this.tokenQuery)}`,
    json: true,
    headers: this.headers
};
const jx2 = await tools_1.default.XHR(jxweb2);

}

加到user里面就行了。 这是剑侠三活动的 每天抽一次 关注房间的话每天可以抽两次 nodejs其实我不懂,这还是勉强对着才能写下来的,测试了功能实现了,我希望l大能优化一下我的垃圾代码。。 另外我想问一下l大,如何能让他加进去 不用再web设置 添加账号保存启用后 默认就执行? 我现在是搞个按钮,并且加到daily里面才能让他执行 nextDay就不行了 脑阔疼 活动链接是https://live.bilibili.com/blackboard/activity-jx3master3.html

lzghzr commented 6 years ago

nextday是固定每天00:30执行,无法手动除触发(更改系统时间除外 以及,这活动好低调

lovezm commented 6 years ago

额 让了吧 看规则貌似只有比赛日才可以抽奖。。23333

lovezm commented 6 years ago

我这代码 直接加到nextday也可以执行的吗。 if (!this.userData.jx) return; 我看有的是 if (this._eventRoom || !this.userData.eventRoom) return; 这样的 第二个的意思是在nextday或者daily里面都可以吗?

lzghzr commented 6 years ago

你直接不加if return就好了,默认开启

Naexen commented 6 years ago

server酱都没提醒过我((我这挂了十几个号不该一个多月了啥都没中吧(

lovezm commented 6 years ago

好的 感谢~
@Naexen 不中奖不是很正常嘛 我挂100个小号不也不中奖 不过都是主站被封的。2333

Vector000 commented 6 years ago

@lovezm 如果你在option.json和default里写了对应的boolean值就可以做成管理页面里面那种打勾启用功能的形式了 if (this._eventRoom || !this.userData.eventRoom) return里面的!this.userData.eventRoom就是指当你在管理页面没打勾就直接return,完全可以换成自己写的功能2333 话说 server酱怎么玩儿 有大佬说说嘛

CrazyHPi commented 6 years ago

刚发现的问题,重启还是这样

CrazyHPi commented 6 years ago

Apr 17 2018 09:54:31: http://api.live.bilibili.com/activity/v1/task/receive_award{ Error: connect ETIMEDOUT120.92.174.135 :80 at 0bject._errnoException (uti1.js: 1024: 11)at_exceptionWfithHostPort (uti1.js: 1046:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1182: 14)code:' ETIMEDOUT',errno:' ETIMEDOUT' syscall:' connect' address:' 120.92.174.135', port: 80 , Apr 17 2018 09:54:32: http://api.live.bilibili.com/activity/v1/task/receive_award{ Error: connect ETIMEDOUT120.92.218.109: 80 at 0bject._errnoException (uti1.js: 1024: 11)at_exceptionWithHostPort (uti1.js :1046: 20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js :1182: 14)code:' ETIMEDOUT'errno:' ETIMEDOUT'syscall:' connect' address:' 120.92.218.109' , port: 80 }[ I

lovezm commented 6 years ago

不用管这个

CrazyHPi commented 6 years ago

脚本直接在这卡住了呀,没有监听也没有抽奖

lovezm commented 6 years ago

凌晨关闭抽奖的那个什么时候发布啊 大佬 最近老小黑屋

l136297 commented 6 years ago

@lovezm 估计你已经被重点观察了,我同时挂了3个号都没问题

youyoudeminger commented 6 years ago

我觉得吧,凌晨关闭抽奖应该是设置开关,默认关闭的,也要照顾一下头铁的账户,我这挂了150+账号封号率小于等于1%

lzghzr commented 6 years ago

现在没活动也会被小黑屋吗,几个小电视B站不至于吧……

mengshouer commented 6 years ago

隔壁群说,好像是看ip检测的。

lovezm commented 6 years ago

破站真的黑。白嫖都不让活

lovezm commented 6 years ago

不是有代理IP的吗

Naexen commented 6 years ago

Apr 18 2018 00:53:29 : 正在测试可用ip Apr 18 2018 00:53:33 : 可用ip数量为 2 Apr 18 2018 00:53:44 : 已监听 :10080 之后就再也没有反应了。。不知道有没有办法解决

Vector000 commented 6 years ago

@Naexen 考虑网络问题,可能网络环境不是很好

lovezm commented 6 years ago

我尝试着做了一下每日视频分享(APP) 不知道sign= 这个参数是哪个 ...

lzghzr commented 6 years ago

@lovezm https://github.com/lzghzr/bilive_client/blob/c687e9059f1811bdc841c2fd4b56cb5a40dab92e/bilive/lib/app_client.ts#L90-L104

lovezm commented 6 years ago

body :app_client_1.default.signQueryBase(access_key=${this.accessToken}&actionKey=appkey&aid=17931759&appkey=${this.appKey}&build=${this.build}&device=phone&mobi_app=${this.mobiApp}&platform=${this.platform}&sign=${paramsHash}&ts=${this.TS}),

我是这样的。。好像哪里不对的样子

lovezm commented 6 years ago

这个sign应该如何获取啊- - 求大佬指条路。。。一直搞不定...(主要里面没有找到调用sign的 抄不到 )

lzghzr commented 6 years ago

signQuestBase后面会自带基本参数,如果你需要自己给参数用signQuest,记得ts要显式false

lovezm commented 6 years ago

整了半天 貌似APP分享做不来 - - 不知道是有返回值还是有啥

Dawnnnnnn commented 6 years ago

抓包的时候有一个callback 的请求,可能是那里的问题 @lovezm

lovezm commented 6 years ago

@Dawnnnnnn 我看了貌似还有个分享出去的请求 不过还有个方法 就是抓网页版的分享微信二维码 那个二维码 扫了以后 直接就加5经验了,就不知道怎么去操作那个扫他的。

lzghzr commented 6 years ago

试了一下还真不行哎,不会是微信后台给B站传数据吧

Dawnnnnnn commented 6 years ago

可以转发到动态或者消息吧,这样就不用过微信了

lovezm commented 6 years ago

试过了 除了在APP客户端分享到外站算成功 分享到动态 都不算分享 要么就是网页扫码,可是网页上的分享是canvas生成的。....而且微信扫只是打开网页 又不用分享。