b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

python:用itchat打造属于自己的微信聊天机器人,挂在自己的服务器上24小时运行,很简单~

电脑杂谈  发布时间:2019-09-26 19:03:55  来源:网络整理

不用公众号的微信聊天机器人_用微信公众号推广产品_微信公众号助手聊天怎么发图片

#!/usr/bin/python
#coding=utf8
import itchat
import  time
# 自动回复
# 封装好的装饰器,当接收到的消息是Text,即文字消息
@itchat.msg_register('Text')
def text_reply(msg):
    # 当消息不是由自己发出的时候
    return  u"[主人暂时不在,我是周小秘]{}".format(msg['Text'])
        # 回复给好友
if __name__ == '__main__':
    itchat.auto_login(enableCmdQR=2)#enablecmdqr参数是用于在命令行上生成二维码,用于linux服务器
    itchat.run(debug=True)

二.调用图灵机器人接口 图灵机器人接口:图灵机器人-智能好用的聊天机器人,自己登录注册,然后才会生成一个apikey,如下图(建议不要把密钥开启,因为打开以后读取api应该进行算法加密,很复杂,没有必要)

下面,我们来说说api接口的文档

可以看到,请求方法是post请求,一共需要post4个参数:apikey,请求的内容(也就是收到好友所发的消息),自己的地理位置(用于调用高级功能,比如查看天气之类,userid(自己随便更改的一个唯一标识符)),看一下返回的状态码的意思:

微信公众号助手聊天怎么发图片_不用公众号的微信聊天机器人_用微信公众号推广产品

下面,我们来自己写一个调用函数:

import  requests
import  json
def  tulin_robot(text):
    url="http://www.tuling123.com/openapi/api"
    data={
        "key":"*****************",#自己机器人apikey值
        "info":text,#从微信传输过来的文本内容
        'userid': 'wechat-robot',
        'loc':"武汉"
    }
    r=requests.post(url,data=data).json()
    code=r["code"]
    """100000  文本类
       200000  链接类
       302000  新闻类
       308000  菜谱类
       313000  儿歌类
       314000  诗词类"""
    if  code==  302000:
        return  r["text"],r["list"]
    if code==  100000:
        return  r["text"]
    if   code==200000:
        return r["text"],r["url"]
    if   code==313000:
        return r["text"],r["function"]
    if   code==314000:
        return  r["text"],r["function"]
    if   code==308000:
        return r["text"],r["list"]
print(tulin_robot("武汉天气"))#调用函数tulin_robot,并输出返回内容

如上所示,当我输入的内容是“武汉天气”时,返回内容为:

也就是说不用公众号的微信聊天机器人,图灵机器人的函数将要写好了。(对requests不太熟悉的话,可以说说我之前的爬虫文章)

微信公众号助手聊天怎么发图片_不用公众号的微信聊天机器人_用微信公众号推广产品

将下面两个别结合出来的话,代码如下:

#!/usr/bin/python
#coding=utf8
import itchat
import  time
import   requests
import   json
def  tulin_robot(text):
    url="http://www.tuling123.com/openapi/api"
    data={
        "key":"e4ad535f0eef4674a7b1ccd34643398b",
        "info":text,
        'userid': 'wechat-robot',
        'loc':"武汉"
    }
#!/usr/bin/python
#coding=utf8
import itchat
import  time
import   requests
import   json
def  tulin_robot(text):
    url="http://www.tuling123.com/openapi/api"
    data={
        "key":"e4ad535f0eef4674a7b1ccd34643398b",
        "info":text,
        'userid': 'wechat-robot',
        'loc':"武汉"
    }
    r=requests.post(url,data=data).json()
    code=r["code"]
    """100000   文本类
       200000   链接类
       302000   新闻类
       308000   菜谱类
       313000   儿歌类
       314000   诗词类"""
    if  code==  302000:
        return  r["text"],r["list"]
    if code==  100000:
        return  r["text"]
    if   code==200000:
        return r["text"],r["url"]
    if   code==313000:
        return r["text"],r["function"]
    if   code==314000:
        return  r["text"],r["function"]
    if   code==308000:
        return r["text"],r["list"]
# 自动回复
# 封装好的装饰器,当接收到的消息是Text,即文字消息
@itchat.msg_register('Text')
def text_reply(msg):
    # 当消息不是由自己发出的时候
    return  u"[主人暂时不在,我是周小秘]{}".format(tulin_robot(msg['Text']))
        # 回复给好友
if __name__ == '__main__':
    itchat.auto_login(enableCmdQR=2)
    # 获取自己的UserName
    myUserName = itchat.get_friends(update=True)[0]["UserName"]
    itchat.run(debug=True)

三.在Linux服务器上运行该脚本 自己花10块钱在阿里云或者腾讯云上买一个Linux服务器,稍微配置一下

然后用vim创建一个auto_wechat.py文件,写入上述代码。

用微信公众号推广产品_微信公众号助手聊天怎么发图片_不用公众号的微信聊天机器人

那么最关键的一部分来了,如何让程序在服务器上24小时运行呢?

我们了解即使只是是运行的话,只需

python3    auto_wechat.py

即可。

不用公众号的微信聊天机器人_用微信公众号推广产品_微信公众号助手聊天怎么发图片

但是一旦终端关闭的话,程序也会中止,那么还要涉及到linux的一个十分强大的命令:screen。 按照我个人的理解,这个命令就是能够在linux中造就出多个终端,在已有的窗口内部再造就更多的窗口,结合命令符号$,能够让外部终端保持在Linux的后台运行,而不会因为终端的关闭而关闭。(个人linux才昨天入门,可能理解不是特别深入,大家可以说说更多的攻略)

所以只需用命令:

screen python3 auto_wechat.py $ 即可保持程序仍然在服务器后台运行。

扫描二维码,即可登入

输入ctrl+A切出终端不用公众号的微信聊天机器人,输入命令

screen  ls

即可看到后台运行的screen进程

弄到这儿,就大功告成啦!


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-124255-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利
      热点图片
      拼命载入中...