最近业余,入了python的坑。
结果越陷越深···
python真的很好吃啊!嘿嘿o
本篇将会为大家详细介绍一个不超过60行代码的微信小机器人,另外特别说明下,因为考虑到官方的支持因素,所以我在学习python之前,直接选择的是3.X版本,以后 @嘿嘿PIUPIUPIU 里所有关于python的项目都是基于 python3 的。
补充说明:编译工具嘿嘿用的是:顶级神兽-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的话,程序会保存你的登录信息,等下次重新运行主函数,就不需要重新扫码了。
至此,大功告成!
GitHub源码地址为:https://github.com/tianbohao1010/treasure_box感觉有帮助的朋友,可以为我点亮star噢。
有问题的朋友可以后台留言,随缘回复。哈哈,拜~
更多有意思的程序小项目可关注微信公众号:陆玖神通