复活Itchat,只需pip install itchat-uos,祝你好运!
项目描述
itchat
itchat是一个开源的微信API,微信是一个常用的中国社交应用。
通过Python中的itchat访问您的个人微信账号从未如此简单。
一个微信机器人可以只用不到30行代码处理所有基本消息。
它与itchatmp(微信公众平台的API)类似,一次学习,两个工具。
现在微信是个人生活的重要组成部分,希望这个仓库可以帮助您扩展个人微信账号的功能,并改善用户对微信的使用体验。
安装
pip install itchat-uos
简单用法
使用itchat,如果您想向filehelper发送消息,可以这样操作:
import itchat
itchat.auto_login()
itchat.send('Hello, filehelper', toUserName='filehelper')
要回复个人文本消息,只需写入以下内容。
import itchat
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
return msg.text
itchat.auto_login()
itchat.run()
对于更高级的使用,您可以继续阅读或浏览文档。
尝试
您可以先尝试基于此项目开发的机器人。
以下是代码。
高级使用
消息字典的特殊用法
您可能会发现,itchat的所有用户和消息都可以通过打印到屏幕上以字典的形式找到。
但实际上,它们是itchat创建的有用类。
它们有有用的键和有用的接口,例如
@itchat.msg_register(TEXT)
def _(msg):
# equals to print(msg['FromUserName'])
print(msg.fromUserName)
还有
author = itchat.search_friends(nickName='LittleCoder')[0]
author.send('greeting, littlecoder!')
各种类型的消息注册
以下是如何配置itchat以获取和回复每日信息的演示。
import itchat, time
from itchat.content import *
@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])
def text_reply(msg):
msg.user.send('%s: %s' % (msg.type, msg.text))
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
msg.download(msg.fileName)
typeSymbol = {
PICTURE: 'img',
VIDEO: 'vid', }.get(msg.type, 'fil')
return '@%s@%s' % (typeSymbol, msg.fileName)
@itchat.msg_register(FRIENDS)
def add_friend(msg):
msg.user.verify()
msg.user.send('Nice to meet you!')
@itchat.msg_register(TEXT, isGroupChat=True)
def text_reply(msg):
if msg.isAt:
msg.user.send(u'@%s\u2005I received: %s' % (
msg.actualNickName, msg.text))
itchat.auto_login(True)
itchat.run(True)
命令行二维码
您可以通过使用以下命令在命令行中访问二维码
itchat.auto_login(enableCmdQR=True)
由于某些字符的宽度在不同系统中有所不同,您可能需要调整enableCmdQR来解决问题。
# for some linux system, width of block character is one instead of two, so enableCmdQR should be 2
itchat.auto_login(enableCmdQR=2)
命令行的默认背景颜色是深色(黑色),如果不是,您可以将enableCmdQR设置为负数。
itchat.auto_login(enableCmdQR=-1)
热重载
使用以下命令,您可以在一段时间内重新加载程序而无需重新扫描二维码。
itchat.auto_login(hotReload=True)
用户搜索
通过使用search_friends,您有四种方式来搜索用户
获取您的个人信息
通过UserName获取用户信息
获取备注名、微信号或昵称与函数名键匹配的用户信息
获取备注名、微信号和昵称与函数提供的匹配的用户信息
方法3和方法4可以同时使用,以下是一个演示程序
# get your own user information
itchat.search_friends()
# get user information of specific username
itchat.search_friends(userName='@abcdefg1234567')
# get user information of function 3
itchat.search_friends(name='littlecodersh')
# get user information of function 4
itchat.search_friends(wechatAccount='littlecodersh')
# combination of way 3, 4
itchat.search_friends(name='LittleCoder机器人', wechatAccount='littlecodersh')
有关搜索和获取大量平台和聊天室的信息,请参阅文档。
下载并发送附件
itchat的消息附件下载功能位于msg的Text键中
文件的名称(默认图片名称)位于msg的FileName键中
下载函数接受一个位置值(包括文件名)并相应地存储附件。
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
msg.download(msg.fileName)
itchat.send('@%s@%s' % (
'img' if msg['Type'] == 'Picture' else 'fil', msg['FileName']),
msg['FromUserName'])
return '%s received' % msg['Type']
如果您不想要图片的本地副本,可以将函数传递为空以获取二进制字符串。
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
with open(msg.fileName, 'wb') as f:
f.write(msg.download())
多实例
您可以使用以下命令来打开多个实例。
import itchat
newInstance = itchat.new_instance()
newInstance.auto_login(hotReload=True, statusStorageDir='newInstance.pkl')
@newInstance.msg_register(itchat.content.TEXT)
def reply(msg):
return msg['Text']
newInstance.run()
设置登录和登出后的回调
登录和登出的回调通过loginCallback和exitCallback设置。
import time
import itchat
def lc():
print('finish login')
def ec():
print('exit')
itchat.auto_login(loginCallback=lc, exitCallback=ec)
time.sleep(3)
itchat.logout()
如果未设置loginCallback,则二维码图片将被删除,命令将被清除。
如果您通过手机退出,则也会调用exitCallback。
常见问题解答(FAQ)
问:为什么我无法发送名称编码为utf8的文件?
答:这是因为请求的上传设置,您可以将此文件(对于py3您需要此文件)放入requests包的packages/urllib3中。
问:如何使用此包将我的微信用作监控工具?
答:有两种方法:与您的个人账户或与filehelper进行通信。
问:为什么有时我无法发送消息?
答:某些账户无法向自己发送消息,因此请使用filehelper。
评论
如果您有任何问题或建议,可以在此问题中与我交谈。
或在gitter上。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
itchat-uos-1.4.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ec23feffe980ad79f9a0c41121660b4d9a2d18132f66913503c43c957283e5fa |
|
MD5 | 469d1e170f93c6593a46d245536b8921 |
|
BLAKE2b-256 | e2ebca83de16e644be9407fee5f2350f4eb706454ef834e33d95297483ec3582 |
itchat_uos-1.4.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 277656e0d52eb775d48a350628e817f398758a39c292db176b76ca2792196c98 |
|
MD5 | 2c7de365917ba0f745a6c73fdf7d5c41 |
|
BLAKE2b-256 | 151563881d2c9386aefa1cb328f8219a3d4b3156f26add455fc507931132b057 |