A Good-Content-Upvote-Bot - CN 区优质内容点赞机器人上线了!

in #cn7 years ago (edited)

I have created a steemit upvote bot that aims to vote for quality contents. It is based on the assumption that the authors on the daily top 30 ranking table are more likely to produce the good contents.

This daily rank table provides the ranking sorted from the potential payout for authors in the last 7 days. Depending on the ranking, different upvoting weight is used e.g. 80% for top 10 authors and 65% for 11 to 15th.

The bot runs on the server every 10 minutes and it will take a break (do nothing) if @justyy 's voting power is less than 30. The bot supports a blacklist so I will constantly observe and update.

If you want to be considered, you need to be in the wechat group: https://helloacm.com/tools/steemit/wechat-ranking/ and write really good contents with main tag CN. Even if you are top of the table, you can still fall out if you do not write constantly good contents.

The python core code (for your reference) is given following:

@shenchensucc 在这篇帖子 YY 了一个 最低保障系统 但是这并不能保障点赞的内容都是好内容。我们总不能对只有一张图片或者几句话的帖子进行点赞吧。

所以,我想了一下,为什么不弄一个优质机器人自动点赞呢?虽然网上有一些现成的代码,但是我下面介绍的这个有几方面的优势:

  • 只限于中文区 CN 主标签 或者是微信群成员列表的帖子。
  • 文章的作者必须在过去7天 潜在收益排行前30。
  • 根据排名给予不同的点赞权重,例如第1到第10名的帖子80%,第11-15名点赞权重65% 等以此类推。
  • 支持黑名单(如果作者的水贴太多)
  • 点赞机器人会在第30到90分钟内点赞(因为这个可是我自己的投票能量给你们点的,也得让我收益一点嘛)。
  • 点赞机器人在服务器上每10分钟跑一次。
  • 点赞机器人在投票能量不足的情况下会主动休息。

所以,你想自动被 @justyy 点赞,那么:

  1. 请确保你在微信群列表名单上,具体请看: https://helloacm.com/tools/steemit/wechat/
  2. 请努力确保进入前30名:每日名单

为什么这样做?

  • 这是假设前30名的作者都是优质作者,产生优质内容的概率较大。
  • 这个每日排行榜变动还是挺大的,因为如果你几天不写,那么就会跌出排行榜,这可不像声誉,SP或者财富即使几天不更新 可能大鱼们还是能稳坐排行榜

TODO

  • 观察投票文章的质量
  • 统计自动机器人投票的点赞收益 (Curation Rewards)
  • 每日自动投票记录和报告发表在 每日排行榜里。
  • 优化投票权重和加入其它一些对劣质文章的过滤,比如文章太短等。

核心代码

仅供参考:

def getWeight(rank):
  weight = 0
  if rank <= 10:
    weight = 1.6
  elif rank <= 15:
    weight = 1.3
  elif rank <= 20:
    weight = 1.2
  elif rank <= 25:
    weight = 1
  else:
    weight = 0.5
  return weight
  
if True:    
  rank = 0  
  for x in good:
    rank = rank + 1
    try:   
      blog = Blog(x)
      print("No. " + str(rank) + " = " + x)
      for p in blog.take(1):
        p_date = p['created']
        sec = HowManySeconds(p_date) 
        print("minutes = " + str(sec / 60))
        if sec >= 30*60 and sec <= 90*60:
          url = "@" + x + "/" + p['permlink']
          for y in acc:
            vp = get_vp(y)
            print("voting power for " + y + " is " + str(vp))
            weight = getWeight(rank)
            print("weight = " + str(weight))
            score = vp * 0.5 * weight
            if vp >= 30:            
              print(y + " " + str(score) + " votes for " + url)
              vote(y, account[y], url, score)
            else:
              print("vp low, skipped.")
    except:
      print("Error - " + x)
        
print("OK.")

Originally published at https://steemit.com Thank you for reading my post, feel free to Follow, Upvote, Reply, ReSteem (repost) @justyy which motivates me to create more quality posts.

原文首发于 https://Steemit.com 首发。感谢阅读,如有可能,欢迎Follow, Upvote, Reply, ReSteem (repost) @justyy 激励我创作更多更好的内容。

// Later, it will be reposted to my blogs: justyy.com, helloacm.com and codingforspeed.com 稍后同步到我的中文博客和英文计算机博客

近期热贴

Recent Popular Posts


Tags: cn cn-programming steemit steemdev bot

Sort:  

我能说,其实我一直在鼓励新人,没有收入或者收入很少的,我通常都会鼓励的,哪怕内容不够好。以后我也侧重于看看新的用户,前提是我能知道这些新用户——比如新用户到我那里留言互动或者加入你的微信列表。

弱弱的提示下:侧重新用户,不要忘记衷心耿耿的老用户啊,(^__^)

你摸着位于你胸部深处的良心问自己,除了你上个月刚开始有三篇文章我没有点赞——我当时没有看到,后来的文章哪篇我忘记你了?即使我不一定喜欢认同你的文章,但你的认真程度我都看见了——虽然那么拼我也不一定赞同。

我说侧重新用户,当然不是说忘记老用户,相反,写得好的老用户我会更加关注支持,只是说新用户的话,毕竟刚来,给人家一点鼓励,一点信心,一点希望——同时我不会滥用权力的。

就像一个赌场一样,能赢得大赌的人毕竟是少数,但你要给新人一点点小赢,否则谁还来赌?没有人气,赌场还开得下去吗?

举的例子未必恰当,但道理是相同的。

没有良心,只摸到了梦露的大胸~

……

你怎么知道?

@hannahwu 怎么不带上我.....我也要感受一下梦露的“良心”... 😂

摸完了, @hannahwu也摸了。良心告诉我,你说的对。

好吧,我……

你们这都在搞什么?又摸大腿又抹胸,我要举报110

我没有摸,我只是说人要摸着良心说话:

1-141121101Q3.jpg

你可以通过 https://helloacm.com/tools/steemit/wechat/ 按年龄从小到大排序就是新用户

太好了。

新来steemit就找到了组织,还是要感谢坛子哥和yy神的支持

感谢一直鼓励。

每次看到弃文里面有大神们的支持,感觉心里暖暖的!谢谢!

我也是新人, 还没研究懂 steemit 怎么获得 收入 只知道在你们文章下 默默点赞。哈哈哈

我觉得新人因为是新来的,所以憋足的劲,所以我觉得新人的文章更认真,相对来讲,新人的文章质量更好的概率大一些。

微信群能加我吗? >.<

说到想到就能做到,太快了。
话说你们公司不管的吗。。。

啊?我这都是在晚上弄的呀... ;P

话说你老婆都不管你的吗

管啊, 平时其它方面好生伺候着 就没事啦

举案齐眉

他精力无处释放,你就由着YY吧。

以潜在收益前30判断是否为优质内容,这样是否会错过一些内容优质,但却没人点赞的新手内容呢?

最开始可能会, 但是如果你坚持个几天,每天都是优质内容,这样上榜的概率还是挺大的,是吧?

i will try it.

Congratulations @justyy! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the total payout received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

yy执行力很强。

我觉得一定是英国工作压力不大,从来不加班的哈哈哈

太难了,这个进入前30,~~~~(>_<)~~~~

除了機器人之外,我還是希望大家可以互相去對方的文章逛逛啦~ :D

厉害厉害,好快的执行力。

y神这个程序太厉害了,持续支持!

不关心点赞,只关心代码!

感謝 justyy兄的貢獻。

好可怕的机器人,哪天会不会把人类都干掉?

等快把我们干掉时,我们先把电拔了^^

不对,我们应该给他们植入病毒先,让他们自我毁灭

cn区新人,可以加微信群吗?

当然可以了,加我微信 ACM-er

加进去了,非常感谢!