通过itchat进行给好友发送消息

通过itchat进行给好友发送消息

通过itchat模块,给指定的用户发送消息,使用的开发环境是Ubuntu16.04LTS+python2.7

首先安装itchat

sudo pip install itchat

安装itchat,下面就可以愉快的玩耍了。

微信的登录

itchat.auto_login(hotReload==False)这种方法是使用微信的二维码的进行登录,是一个较短时间的登录。如果想长时间的登录,或进行代码的调试,则可以使用hotReload==True

获取好友的名字

这里获取的好友的名字是并不是常规意义的微信名或备注,而是一长串数字加字母。
每一个好友都有一个指定的数字加字母,获取用户的数字加字母,用于信息的发送。下面的就是获取的方法,可能不唯一,这里只给出一种。

name = itchat.search_friends(name=u'小明')
XiaoMing = name[0]["UserName"]

itchat.search_friends(name=u'小明'),返回的是关于备注为小明的好友的所有信息。返回的是一个列表,如下所示。

[<User: {u'UserName': u'@1df3e0308dfa8147a5f0b70dc30fed9332e1085048f151645003c30d49b3e3c6', u'City': u'\u6b66\u6c49', u'DisplayName': u'', u'UniFriend': 0, 'MemberList': <ContactList: []>, u'PYQuanPin': u'spanclassemojiemoji1f343spanspanclassemojiemoji1f343span', u'RemarkPYInitial': u'HMG', u'Uin': 0, u'AppAccountFlag': 0, u'VerifyFlag': 0, u'Province': u'\u6e56\u5317', u'KeyWord': u'', u'RemarkName': u'\u4f55\u7f8e\u5149', u'PYInitial': u'SPANCLASSEMOJIEMOJI1F343SPANSPANCLASSEMOJIEMOJI1F343SPAN', u'ChatRoomId': 0, u'IsOwner': 0, u'HideInputBarFlag': 0, u'EncryChatRoomId': u'', u'AttrStatus': 102437, u'SnsFlag': 1, u'MemberCount': 0, u'OwnerUin': 0, u'Alias': u'', u'Signature': u'', u'ContactFlag': 3, u'NickName': u'\U0001f343\U0001f343', u'RemarkPYQuanPin': u'hemeiguang', u'HeadImgUrl': u'/cgi-bin/mmwebwx-bin/webwxgeticon?seq=662910109&username=@1df3e0308dfa8147a5f0b70dc30fed9332e1085048f151645003c30d49b3e3c6&skey=@crypt_c13a459d_07c88b693e19ceaa204c26431b1b8a80', u'Sex': 1, u'StarFriend': 0, u'Statues': 0}>, <User: {u'UserName': u'@3b107869eb1fe74f659c891654ddbbdf47067ccae5005f6883c67490a99a0673', u'City': u'\u8346\u5dde', u'DisplayName': u'', u'UniFriend': 0, 'MemberList': <ContactList: []>, u'PYQuanPin': u'hemeiguang', u'RemarkPYInitial': u'HMG', u'Uin': 0, u'AppAccountFlag': 0, u'VerifyFlag': 0, u'Province': u'\u6e56\u5317', u'KeyWord': u'', u'RemarkName': u'\u4f55\u7f8e\u5149', u'PYInitial': u'HMG', u'ChatRoomId': 0, u'IsOwner': 0, u'HideInputBarFlag': 0, u'EncryChatRoomId': u'', u'AttrStatus': 102433, u'SnsFlag': 17, u'MemberCount': 0, u'OwnerUin': 0, u'Alias': u'', u'Signature': u'', u'ContactFlag': 3,u'NickName': u'\u4f55\u7f8e\u5149', u'RemarkPYQuanPin': u'hemeiguang', u'HeadImgUrl': u'/cgi-bin/mmwebwx-bin/webwxgeticon?seq=662866679&username=@3b107869eb1fe74f659c891654ddbbdf47067ccae5005f6883c67490a99a0673&skey=@crypt_c13a459d_07c88b693e19ceaa204c26431b1b8a80', u'Sex': 1, u'StarFriend': 0, u'Statues': 0}>]

XiaoMing = name[0]["UserName"],也就获取那一串的数字加字母。

给好友发送消息

给好友发送消息使用itchat.send()

message_concent = 'Hey,dude'
itchat.send(message_concent,XiaoMing)

这样就可以给小明发送消息了。

下面附上整体的代码。

#!/usr/bin/python2.7
#coding=utf-8
import itchat 
import random

itchat.auto_login(hotReload=True)

friends_list = itchat.get_friends(update=True)
name = itchat.search_friends(name=u'小明')
XiaoMing = name[0]["UserName"]

message_list = [u'Hey,dude',u'Are you ok?',u'Bye~']
message_concent = random.sample(message_list,1)[0]
itchat.send(message_concent,XiaoMing)

猜你喜欢

转载自blog.csdn.net/idealcitier/article/details/78503743