Python3之微信小机器人召唤术

最近业余,入了python的坑。

结果越陷越深···

python真的很好吃啊!嘿嘿^o^


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

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

-第一步-

只需要引入两个库,itchat 和 requests

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的话,程序会保存你的登录信息,等下次重新运行主函数,就不需要重新扫码了。

至此,大功告成!

有问题的朋友可以扫下方二维码,关注后后台留言,随缘回复。哈哈,拜~

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值