zoukankan      html  css  js  c++  java
  • 使用itchat和图灵机器人实现微信机器人

    1.首先先安装python的itchat库

    pip install itchat
    

    2.在图灵机器人官网注册一个apikey

    3.编写机器import itchatfrom itchat.content imporimport itchat

    import itchat
    from itchat.content import *
    import itchat
    import json,re
    import requests
    
    itchat.auto_login(hotReload = True) #
    
    #从图灵机器人API接入接口
    def tuling(info):
        appkey = '***********'#你的图灵apikey,图灵机器人秘钥
        url = "http://www.tuling123.com/openapi/api?key=%s&info=%s"%(appkey,info)
        req = requests.get(url)
        content = req.text
        data = json.loads(content)
        answer = data['text']
        return answer
    
    # 获得群聊id
    def get_group_id(group_name):
        group_list = itchat.search_chatrooms(name=group_name)
        return group_list[0]['UserName']
    
    # 自动通过加好友
    add_friend_compile = re.compile(r'.*?')
    @itchat.msg_register(itchat.content.FRIENDS)
    def deal_with_friend(msg):
        if add_friend_compile.search(msg['Content']) is not None:
            itchat.add_friend(**msg['Text'])  # 自动将新好友的消息录入,不需要重载通讯录
            itchat.send_msg('嘤嘤嘤,我是智障机器人Coder,
    很高兴认识你,回复关键字:
    
     加群:加入社团名称
    公众号:获取包含超多实用校园服务的创软公众号  
    
     来吧!走进我们的代码世界~',
                            msg['RecommendInfo']['UserName'])
    
    #当群里有新人加群的时候,自动发送欢迎词
    @itchat.msg_register(NOTE,isFriendChat=True,isGroupChat=True,isMpChat=True)
    def wellcome(msg):
        item = get_group_id(u'测试群') #可以改为你自己的群聊名字,首先要把群聊加入通讯录
        chatroom = itchat.update_chatroom(item)
        # print(chatroom['MemberList'])
        if '加入了群聊' in msg['Content']:
            itchat.send("@"+chatroom['MemberList'][-1]['NickName']+"
    欢迎新同学!大家关于社团或是学校有什么问题都可以在群上直接问哦!我们会尽力解答的。
    进群都改下备注哦~
    “年级_专业_姓名”
    例如:17_软件技术_狗蛋 
    如果想报名我们社团,可以关注创软公众号回复“加入”", item)
            # print(chatroom['MemberList'][-1]['NickName'])
    
    @itchat.msg_register(TEXT, isGroupChat=True,)
    def group_text_reply(msg):
        # 在群聊中只对@你的人才回复,可以设置if msg['isAt']:
        if msg['isAt']:
            itchat.send(u'%s' % tuling(msg['Text']), msg['FromUserName'])
    
    #加了微信机器人好友后,发送关键词,获得进群消息    
    @itchat.msg_register([TEXT])
    def deal_with_msg(msg):
        text = msg['Content']
        if text == u'加群':
            # itchat.add_member_into_chatroom(get_group_id(u"测试群"), [{'UserName': msg['FromUserName']}])
            # itchat.send(str(itchat.search_friends(userName=msg['FromUserName'])['NickName']),toUserName='filehelper')
            itchat.send_msg(str(itchat.search_friends(userName=msg['FromUserName'])['NickName']), toUserName='filehelper')
            itchat.send_msg('您的加群信息已收到
    稍后(我也不知道多久)将会拉您进群', msg['FromUserName'])
            itchat.send_image('timg.gif', msg['FromUserName']) #发送一个骚气表情包
         #机器人收到加群消息后,会向文件接收助手发送好友昵称,由于微信网页的自动拉人功能被封了,所以只能通过手动发送进群消息
    
        elif text == u'公众号':
            itchat.send_msg('#!/usr/bin/python
    #coding:utf-8
        def ISA():
            print("慎言善思,学以致用")
    if __name__ == "__main__":
        ISA()',msg['FromUserName'])
            itchat.send_msg('欢迎关注我们的公众号,
    “创软俱乐部ISA”',msg['FromUserName'])
            itchat.send_image('QR_ISA.jpg', msg['FromUserName'])#发送公众号的二维码  
        else:
            itchat.send_msg(u'%s' % tuling(msg['Text']), msg['FromUserName'])
    
    if __name__ == '__main__':
        itchat.auto_login(enableCmdQR=2, hotReload=True)
        itchat.run()
    

      

    最后,这个主要是用来在学校社团招新的时候应用的

  • 相关阅读:
    浅谈桶排思想及[USACO08DEC]Patting Heads 题解
    【知识总结】CSS中样式覆盖优先顺序
    【知识总结】Activiti工作流学习入门
    mac下安装nginx问题解决
    spring项目中dubbo相关的配置文件出现红叉的问题
    mybatis对java自定义注解的使用——入门篇
    自学spring过程中碰到的问题list,一个一个解决
    mac下常用软件整理
    小米面试题目(测试开发岗位——不是测试,是测试工具和平台的开发岗位)
    Knockoutjs:Component and Custom Elements(翻译文章)
  • 原文地址:https://www.cnblogs.com/s42-/p/9613984.html
Copyright © 2011-2022 走看看