In [ ]:
# from IPython.display import YouTubeVideo
# YouTubeVideo('W-ZsWqcl1_c')
by: Sam.Gu@KudosData.com
April 2017 ========== Scan the QR code to become trainer's friend in WeChat ========>>
In [ ]:
# from __future__ import unicode_literals, division
# import time, datetime, requests
import itchat
from itchat.content import *
https://itchat.readthedocs.io/zh/latest/
通过以下命令可以在登陆的时候使用命令行显示二维码:
itchat.auto_login(enableCmdQR=True)
部分系统可能字幅宽度有出入,可以通过将enableCmdQR赋值为特定的倍数进行调整:
itchat.auto_login(enableCmdQR=2) # 如部分的linux系统,块字符的宽度为一个字符(正常应为两字符),故赋值为2
默认控制台背景色为暗色(黑色),若背景色为浅色(白色),可以将enableCmdQR赋值为负值:
itchat.auto_login(enableCmdQR=-1)
通过如下命令登陆,即使程序关闭,一定时间内重新开启也可以不用重新扫码。
itchat.auto_login(hotReload=True)
In [ ]:
# Running in Jupyther Notebook:
# itchat.auto_login(hotReload=True) # hotReload=True: 退出程序后暂存登陆状态。即使程序关闭,一定时间内重新开启也可以不用重新扫码。
# or
# itchat.auto_login(enableCmdQR=-2) # enableCmdQR=-2: Jupyter Notebook 命令行显示QR图片
# Running in Terminal:
itchat.auto_login(enableCmdQR=2) # enableCmdQR=2: 命令行显示QR图片
In [ ]:
friend = itchat.search_friends()
# print(friend)
In [ ]:
print('NickName : %s' % friend['NickName'])
print('Alias A-ID: %s' % friend['Alias'])
print('RemarkName: %s' % friend['RemarkName'])
print('UserName : %s' % friend['UserName'])
In [ ]:
print()
print(u'[ WeChat Software Robot 微信人工智能助手 ] Copyright © 2018 GU Zhan (Sam) SOME RIGHTS RESERVED')
print()
print(u'[ Functions 演示功能介绍 ]')
print(u'[ 1 ] 如果收到[TEXT, MAP, CARD, NOTE, SHARING]类的信息,会自动回复')
print(u' @itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING]) # 文字、位置、名片、通知、分享')
print(u'[ 2 ] 如果收到[PICTURE, RECORDING, ATTACHMENT, VIDEO]类的信息,会自动保存')
print(u' @itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO]) # 图片、语音、文件、视频')
print(u'[ 3 ] 如果收到新朋友的请求,会自动通过验证添加加好友,并主动打个招呼:幸会幸会!Nice to meet you!')
print(u' @itchat.msg_register(FRIENDS)')
print(u'[ 4 ] 在群里,如果收到@自己的文字信息,会自动回复')
print(u' @itchat.msg_register(TEXT, isGroupChat=True)')
print()
print(u'[ Source Code 源代码 ] https://github.com/telescopeuser/workshop_blog')
print()
In [ ]:
# 如果收到[TEXT, MAP, CARD, NOTE, SHARING]类的信息,会自动回复:
@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING]) # 文字、位置、名片、通知、分享
def text_reply(msg):
print(u'[ Terminal Info ] 谢谢亲[嘴唇]我已收到 I received: [ %s ] %s From: %s'
% (msg['Type'], msg['Text'], msg['FromUserName']))
itchat.send(u'谢谢亲[嘴唇]我已收到\nI received:\n[ %s ]\n%s' % (msg['Type'], msg['Text']), msg['FromUserName'])
# 如果收到[PICTURE, RECORDING, ATTACHMENT, VIDEO]类的信息,会自动保存:
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO]) # 图片、语音、文件、视频
def download_files(msg):
msg['Text'](msg['FileName'])
print(u'[ Terminal Info ] 谢谢亲[嘴唇]我已收到 I received: [ %s ] %s From: %s'
% ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName'], msg['FromUserName']))
itchat.send(u'谢谢亲[嘴唇]我已收到\nI received:', msg['FromUserName'])
return '@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName'])
# 如果收到新朋友的请求,会自动通过验证添加加好友,并主动打个招呼:幸会幸会!Nice to meet you!
@itchat.msg_register(FRIENDS)
def add_friend(msg):
print(u'[ Terminal Info ] 新朋友的请求,自动通过验证添加加好友 From: %s' % msg['RecommendInfo']['UserName'])
itchat.add_friend(**msg['Text']) # 该操作会自动将新好友的消息录入,不需要重载通讯录
itchat.send_msg(u'幸会幸会!Nice to meet you!', msg['RecommendInfo']['UserName'])
# 在群里,如果收到@自己的文字信息,会自动回复:
@itchat.msg_register(TEXT, isGroupChat=True)
def text_reply(msg):
if msg['isAt']:
print(u'[ Terminal Info ] 在群里收到@自己的文字信息: %s From: %s %s'
% (msg['Content'], msg['ActualNickName'], msg['FromUserName']))
itchat.send(u'@%s\u2005I received: %s' % (msg['ActualNickName'], msg['Content']), msg['FromUserName'])
In [ ]:
itchat.run()
In [ ]:
# interupt, then logout
# itchat.logout() # 安全退出