《steem 指南》——12.3.1 点赞机器人开发示例(1)

in #cn6 years ago (edited)

点赞机器人在steem是一类很受欢迎的机器人。开发起来并不复杂,我们只要掌握一些基础的语法,加上自己设计的软件逻辑,就能写一款属于自己的点赞机器人。

那我们来一起写一个简单的点赞机器人吧!

https://steemit.com/cn/@maiyude/steem-python-1-steem

https://steemit.com/cn/@maiyude/steem-python-1-pose-vote

我们用python写一个点赞机器人,需要先安装python-seem库,以上是一些简单的教程和基本操作。


我们首先要设计软件的逻辑,我们是需要点赞机器人如何工作?

比如我们现在需要设计一个自赞机器人,把自己多余的VP用掉。

那需求就是:每天VP会恢复20%,我们需要每2.4小时发一贴,并且在15分钟后点赞。

那我们简单画一个软件逻辑图:

为了不要污染版面,我们以发评论并且点赞评论的方式来实现。


好了,逻辑图画完,开始开工。

#!/usr/bin/python
# -*- coding: utf-8 -*-
from steem import Steem
from steem.post import Post
import json
import time
import datetime
import requests

第一步是加载各种可能用到的库,请根据你实际用到的库来加载。

然后需要设定服务器信息和发帖密码等:

nodes = [
    'https://api.steemit.com',
    'https://steemd.pevo.science',
]
s = Steem(
    nodes,
    keys=["post key", "Active Key"]
)

按照软件逻辑,我们首先需要发一个评论:
发评论需要加一个参数: reply_identifier=" 文章链接"

这里使用的测试帖子是:https://steemit.com/@weicomenew/test2

id="weicomenew"  #发帖的人的id
post="test2"     #发帖的文章title
id_add_post="%s/%s" %(id,post)    #发帖地址拼合,id_add_post=weicomenew/test2

 s.commit.post(
            None,             #标题,评论不需要
            "test pose",   #评论正文
            id,   #发帖者ID
             reply_identifier=id_add_post     #文章链接地址,此处为weicomenew/test2
            )

接下来需要休息15分钟后获取评论链接地址:
获取评论地址可以用这个方法:get_content_replies(id, post地址)

time.sleep(900)    #休息15分钟
relies=s.get_content_replies(id, post)     #获取最近回复信息
comment = relies[-1]["permlink"]     #从信息里面获取最新一条的permlink链接地址
print(comment)
#返回信息:comment=re-test2-20181010t143537

地址获取完毕,开始点赞

idaddcomment="%s/%s" % (id,comment)   #拼合链接地址
print(idaddcomment)
#返回信息idaddcomment=weicomenew/re-test2-20181010t143537

 s.commit.vote(
            idaddcomment,      #链接地址
            +100,         #点赞能量
            account="weicomenew",    #点赞者账户
        )
print("完成!")

点赞完成,之后再休息个2.4小时减去15分钟,整个流程就结束了。就是休息7740秒。

time.sleep(7740)

整个流程结束,接下来我们只要加上一个循环语句即可。

 i = 1   #循环开关,0关,1开
 while i == 1:

放一个完整代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-
from steem import Steem
from steem.post import Post
import json
import time
import datetime
import requests


nodes = [
    'https://api.steemit.com',
    'https://steemd.pevo.science',
]
s = Steem(
    nodes,
    keys=["pose key", "a-key"]
)
id="weicomenew"  #发帖的人的id
post="test2"     #发帖的文章title
id_add_post="%s/%s" %(id,post)

now_time = datetime.datetime.now()

i = 1
while i == 1:
    s.commit.post(
        None,
        now_time,
        id,
         reply_identifier=id_add_post
        )

    print("评论发送成功")
    time.sleep(900)

    relies=s.get_content_replies(id, post)
    comment = relies[-1]["permlink"]
    print(comment)



    idaddcomment="%s/%s" % (id,comment)
    print(idaddcomment)

    s.commit.vote(
        idaddcomment,
        +10,
        account="weicomenew",
    )
    print("完成!")
    time.sleep(7740)

就这样一个简单的点赞机器人就完成了,只要运行这段代码,就能给自己消耗掉多余的VP。

但是这是一个示例,只给自己点赞是过不上好日子的。

当然这还只是非常初步初级的代码,我们还可以加上各种判断,各种条件,以及丰富有趣的回复。我们在接下来的教程会进一步慢慢加深,慢慢完善。

点击下一节继续学习

Sort:  

挺不错的,改天也来实验下!

欢迎关注,后续会对这小代码进行优化。
比如加上各种判断,搜索别人文章,智能回复等等。

赞啊,python看起来好玩多了

Posted using Partiko iOS

早晚Steemit上都成机器人的世界了。。人将是多鱼的。。

YOU JUST GOT UPVOTED

Congratulations,
you just received a 14.40% upvote from @steemhq - Community Bot!

Wanna join and receive free upvotes yourself?
Vote for steemhq.witness on Steemit or directly on SteemConnect and join the Community Witness.

This service was brought to you by SteemHQ.com

鱼哥居然是个隐藏的程序猿大牛啊,厉害了

Posted using Partiko Android

刚学的,现学现卖

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 64038.60
ETH 3148.89
USDT 1.00
SBD 3.97