oflyhigh avatar

N次犯错后,我痛下决心解决活动脚本的问题,然鹅......

oflyhigh

Published: 03 Mar 2026 › Updated: 03 Mar 2026N次犯错后,我痛下决心解决活动脚本的问题,然鹅......

N次犯错后,我痛下决心解决活动脚本的问题,然鹅......

中文区的小伙伴都知道我设置了一个专门的账户用来搞活动,很多时候都会有神秘大佬点赞支持参与活动的小伙伴。

image.png
(图源 :pixabay)

那么神秘大佬是如何判断是否点赞呢?其实这幕后都是一个脚本再处理,简单来讲是如下逻辑:

  • 脚本监控链上的最新点赞操作
  • 判断是否是活动账户发起的点赞
  • 如是,则神秘大佬计算点赞金额后跟赞

懂行的小伙伴一看就明白了,这不就是一个跟赞机器人嘛,哦对了,计算点赞金额这块稍微复杂了一丢丢,但是其实也没麻烦到哪去。

以前我在家里的Linux服务器上运行这个脚本,搞活动的时候开启一下,活动结束也不去管它,一切都如我意料的那般工作。

但后来为了方便编辑,我把这个脚本放到我当前工作的Windows电脑上来跑,嗯,也如我预想的那般工作——直到某天。

我还记得那天,突然发现神秘大佬的账户在点赞中文社区,且点赞比重不是整数,我就纳闷了,是谁在用神秘大佬账户点赞呢?

于是我找到我写过的一个神器,通过tx签名分析账户的幕后操作者(计算出公钥),结果你猜咋着,计算出来的操作者竟然是我自己!

什么?小丑竟是我自己!我百思不得其解,难道是我的POSTING KEY泄露了?又或者被以某种奇怪的方式黑了?

结果查来查去,发现竟然是我忘记了在Windows窗口中及时关掉活动脚本,导致它判断失误,一直在给小伙伴们点赞。

这导致了这甚至导致了某大佬去找神秘大佬抱怨,说神秘大佬账户的VP都要被我消耗干啦!呜呜呜,这也并非我本意呀!

造成这个“事故”有两方面原因:

  • Windows窗口里运行的脚本在电脑休眠再唤醒后依然后继续运行
  • 活动脚本中缺乏相应的判断

之前在Linux电脑上运行脚本,是因为我Putty会话一段时间不动或者电脑休眠它自己就断卡了,绝无脚本继续运行的道理(我也并不需要它继续运行)。没想到Windows窗口下运行的脚本竟然这么稳定——而这稳定反而给我带来了麻烦。

另外就是我应该在脚本中判断一下点赞的是否是活动帖,还是我日常的点赞。区别就是日常点赞都点主贴,活动参与贴都是回复。

所以,原则上我判断一下点赞的对象是否是回复就好。于是我写了如下判断,来进行检查:

        post = client.exec('condenser_api', 'get_content', [author,permlink])
        pprint(post)
        depth = post['depth']
        if (depth == 0) :
                print(f'{author}/{author} does not meet the participation requirements for the event.')
                return

看着是不是很简单?

结果我试着测试了一下,竟然反复报错:对depth = post['depth']TypeError: 'NoneType' object is not subscriptable

我特意用工具调用相应函数测试了一下,能正常返回POST的内容以及一些属性呀(包括depth),为啥放在脚本里就不好用了呢?

直到我后来注意到一条错误提示:'Assert Exception:false: Supported by hivemind'

这时我才想起来,我脚本测试用的是本地节点,而工具测试用的是api.hive.blog

两者的差异就是本地节点不支持hivemind,也就不包含文章数据,当然就获取不到了,当然就出错喽,没想到我竟然会犯这样蠢的错误。

所以若想加上这个判断,我就必须用支持hivemind的节点,我就必须在VPS上运行脚本(原因嘛,懂得都懂)。又或者采取其它判断方法(我还没想到更好的办法,比如起个新号专门用来点活动贴?)。

又或者回到老路上,自己每次注意一些就好啦(比如活动过后及时关掉脚本)——咦,貌似这个可行性最高呀,哈哈。所以,我是折腾了个寂寞呀!

Leave N次犯错后,我痛下决心解决活动脚本的问题,然鹅...... to:

Written by

Programmer, Maker, Freelancer, Witness. Make friends, Make money, Make life better!

Read more #cn posts


Best Posts From oflyhigh

We have not curated any of oflyhigh's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From oflyhigh