真·Python3奥义之微信小机器人召唤术

最近业余,入了python的坑。

结果越陷越深···

python真的很好吃啊!嘿嘿o

本篇将会为大家详细介绍一个不超过60行代码的微信小机器人,另外特别说明下,因为考虑到官方的支持因素,所以我在学习python之前,直接选择的是3.X版本,以后 @嘿嘿PIUPIUPIU 里所有关于python的项目都是基于 python3 的。

补充说明:编译工具嘿嘿用的是:顶级神兽-PyCharm

-第一步-

只需要引入两个库,itchatrequests

import itchat
import requests

-第二步-

这里选择的是广泛在用的图灵机器人,直接登录图灵机器人官网申请一个机器人,找到机器人的Key值复制到代码里。

# 图灵机器人KEY
KEY = '复制机器人Key值到这里噢'

#发送消息,并获取图灵机器人响应信息
def get_response(msg):
    apiUrl = 'http://www.tuling123.com/openapi/api'
    data = {
        'key': KEY,
        'info': msg,
        'userid': 'wechat-robot'
    }
    try:
        r = requests.post(apiUrl, data=data).json()
        return r.get('text')
    except:
        return

-第三步-

微信端接收消息的设置,itchat.content指定消息类型,isGroupChat和isFriendChat分别为指定群组和好友消息来源的开关。

#微信接收消息&回应
@itchat.msg_register([itchat.content.TEXT, itchat.content.PICTURE], isGroupChat=True, isFriendChat=True)
def tuling_reply(msg):
    if manger_jur(msg):
        if (msg['MsgType'] == 1): #文本消息类型
            defaultReply = 'I received: ' + msg['Text']
            reply = get_response(msg['Text'])
            return reply or defaultReply
        elif (msg['MsgType'] == 47): #表情包消息类型
            NickName = msg['User']['NickName']
            reply = u"%s,过分了啊!欺负我变形金刚?" % NickName
            return reply
    else:
        print(msg['User']['NickName'] + ': ' + msg['Text'])

在使用过程中,因为没做过滤,这货自动回复了我所有群组的消息,包括公司群里正儿八经的研讨群之类的···

后来··· ···

所以特别指定了群组及好友 manger_jur(msg):

# 群组昵称
GROUPS = ('群组1','群组2')
# 好友昵称
FRIENDS = ('好友1', '好友2')

# 指定生效群名or好友昵称
def manger_jur(msg):
    if msg['User']['NickName'] in GROUPS \
            or msg['User']['NickName'] in FRIENDS:

        return True
    else:
        return False

-第四步-

添加主函数,相当于Java中的main(),Java出身的我反正是这么理解的,略略略~

if __name__ == '__main__':
    itchat.auto_login(hotReload=True)
    itchat.run()

hotReload 是微信登录的热加载,值设置为True的话,程序会保存你的登录信息,等下次重新运行主函数,就不需要重新扫码了。

至此,大功告成!

GitHub源码地址为:https://github.com/tianbohao1010/treasure_box感觉有帮助的朋友,可以为我点亮star噢。

有问题的朋友可以后台留言,随缘回复。哈哈,拜~

更多有意思的程序小项目可关注微信公众号:陆玖神通

    原文作者:_嘿嘿君_
    原文地址: https://www.jianshu.com/p/7b4872892e0b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞