使用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,\n很高興認識你,回復關鍵字:\n\n 加群:加入社團名稱\n公眾號:獲取包含超多實用校園服務的創軟公眾號  \n\n 來吧!走進我們的代碼世界~',
                        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']+"\n歡迎新同學!大家關於社團或是學校有什么問題都可以在群上直接問哦!我們會盡力解答的。\n進群都改下備注哦~\n“年級_專業_姓名”\n例如:17_軟件技術_狗蛋 \n如果想報名我們社團,可以關注創軟公眾號回復“加入”", 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('您的加群信息已收到\n稍后(我也不知道多久)將會拉您進群', msg['FromUserName'])
        itchat.send_image('timg.gif', msg['FromUserName']) #發送一個騷氣表情包
     #機器人收到加群消息后,會向文件接收助手發送好友昵稱,由於微信網頁的自動拉人功能被封了,所以只能通過手動發送進群消息

    elif text == u'公眾號':
        itchat.send_msg('#!/usr/bin/python\n#coding:utf-8\n    def ISA():\n        print("慎言善思,學以致用")\nif __name__ == "__main__":\n    ISA()',msg['FromUserName'])
        itchat.send_msg('歡迎關注我們的公眾號,\n“創軟俱樂部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()

  

最后,這個主要是用來在學校社團招新的時候應用的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM