pythonライブラリitchat紹介(自動ログイン微信、自動返信メッセージ)
6081 ワード
itchat
itchatはオープンソースの微信個人番号インタフェースであり、pythonを使用して微信を呼び出すのはこんなに簡単ではありません.
30行未満のコードを使用すると、すべての情報を処理できる微信ロボットを完成することができます.
もちろん、このapiの使用はロボットだけでなく、より多くの機能が発見されるのを待っています.例えば、これらです.
このインタフェースは公衆番号インタフェースitchatmpと同様の操作方式を共有し,一度に2つのツールを習得する.
今、微信はすでに個人の社交の大部分になって、このプロジェクトがあなたの個人の微信を拡張して、自分の生活を便利にすることを助けることができることを望んでいます.
インストール
このコマンドでitchatをインストールできます.
簡単な導入例
itchatがあれば、ファイル転送アシスタントにメッセージを送信するには、次のようにします.
自分に送ったテキストメッセージに返信するには、次のようにします.
いくつかのステップアップアプリケーションは、次のオープンソースロボットのソースコードとステップアップアプリケーションで見ることができます.または、ドキュメントを閲覧することもできます.
ステップアップアプリケーション
特殊な辞書の使い方
itchatのユーザーと登録メッセージのパラメータを印刷することで、これらの値は辞書であることがわかります.
しかし、実際にitchatは、対応するメッセージ、ユーザー、グループチャット、公衆番号クラスを丹念に構築しています.
すべてのキー値にアクセスできます.
属性名は、キー値の頭文字小文字の内容です.
各種メッセージの登録
以下のコードにより、微信は日常の様々な情報を取得し、返信することができるようになった.
コマンドラインQRコード
次のコマンドを使用すると、ログイン時にコマンドラインを使用してQRコードを表示できます.
一部のシステムでは、文字幅が異なる場合があります.enableCmdQRを特定の倍数に割り当てることで調整できます.
既定のコンソールの背景色は暗色(黒)で、背景色が薄い(白)場合はenableCmdQRを負の値に割り当てることができます.
プログラム終了後のログインステータスの一時保存
以下のコマンドでログインすることで、プログラムが閉じても一定時間再起動しても再スキャンは不要です.
ユーザー検索
これらの3、4つは、サンプル・プログラムで使用できます.
公衆番号、グループチャットの取得と検索については、ドキュメントでより詳細に説明しています.
添付ファイルのダウンロードと送信
itchatの添付ファイルダウンロード方法はmsgのTextキーに格納される.
送信されたファイルのファイル名(画像に与えられたデフォルトのファイル名)は、msgのFileNameキーに格納されます.
ダウンロード方法では、使用可能な場所パラメータ(ファイル名を含む)を受け入れ、ファイルを格納します.
ローカルにダウンロードする必要がない場合は、バイナリ列のみを読み込んでさらに処理し、パラメータを入力しなくてもよい場合は、画像のバイナリ列を返します.
ユーザマルチオープン
次のコマンドを使用して、複数の操作を実行します.
終了およびログイン完了後に特定のメソッドを呼び出す
ログイン完了後のメソッドは
終了後のメソッドは
loginCallbackの値を設定しないと、QRコードピクチャが自動的に削除され、コマンドライン表示が空になります.
よくある質問と回答
Q:なぜ中国語のファイルはアップロードできないのですか?
A:これは
Q:このパッケージで自分のマイクロ信号をコントローラに変えるにはどうすればいいですか?
A:2つの方法があります.自分のUserNameのメッセージを送信、受信します.受信ファイル転送アシスタント(filehelper)のメッセージを送信
Q:どうして私がメッセージを送ったときに一部のメッセージがうまく出なかったのですか?
A:生まれつき自分のアカウントにメッセージを送ることができないアカウントもありますが、
作成者
LittleCoder:Python 2 Python 3のフレームワークとメンテナンス.
tempdban:プロトコル、フレームワーク、日常メンテナンス.
Chyroc:第1バージョンのPython 3フレームワークを完了します.
類似項目
youfou/wxpy:優れたapiパッケージとプラグイン、微信ロボット/優雅な微信個人番号API
Liuwons/wxBot:同様のPythonベースの微信ロボット
zixia/wechaty:Javascript(ES 6)ベースの微信個人アカウントロボットNodeJSフレームワーク/ライブラリ
sjdy 521/Mojo-Weixin:Perl言語で作成された微信クライアントフレームワークは、HTTPプロトコルに基づくapiインタフェースをプラグインで提供し、他の言語で呼び出すことができます.
HanSon/vbot:PHP 7ベースの微信個人番号ロボットは、匿名関数を実現することで様々なカスタム機能を容易に実現できます
itchatはオープンソースの微信個人番号インタフェースであり、pythonを使用して微信を呼び出すのはこんなに簡単ではありません.
30行未満のコードを使用すると、すべての情報を処理できる微信ロボットを完成することができます.
もちろん、このapiの使用はロボットだけでなく、より多くの機能が発見されるのを待っています.例えば、これらです.
このインタフェースは公衆番号インタフェースitchatmpと同様の操作方式を共有し,一度に2つのツールを習得する.
今、微信はすでに個人の社交の大部分になって、このプロジェクトがあなたの個人の微信を拡張して、自分の生活を便利にすることを助けることができることを望んでいます.
インストール
このコマンドでitchatをインストールできます.
pip install itchat
簡単な導入例
itchatがあれば、ファイル転送アシスタントにメッセージを送信するには、次のようにします.
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!')
各種メッセージの登録
以下のコードにより、微信は日常の様々な情報を取得し、返信することができるようになった.
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)
コマンドラインQRコード
次のコマンドを使用すると、ログイン時にコマンドラインを使用してQRコードを表示できます.
itchat.auto_login(enableCmdQR=True)
一部のシステムでは、文字幅が異なる場合があります.enableCmdQRを特定の倍数に割り当てることで調整できます.
# linux , ( ), 2
itchat.auto_login(enableCmdQR=2)
既定のコンソールの背景色は暗色(黒)で、背景色が薄い(白)場合はenableCmdQRを負の値に割り当てることができます.
itchat.auto_login(enableCmdQR=-1)
プログラム終了後のログインステータスの一時保存
以下のコマンドでログインすることで、プログラムが閉じても一定時間再起動しても再スキャンは不要です.
itchat.auto_login(hotReload=True)
ユーザー検索
search_friends
メソッドを使用してユーザーを検索するには、4つの検索方法があります.1.自分のユーザー情報のみを取得する2.特定のUserName
のユーザー情報を取得する3.コメント、マイクロ信号、ニックネームのいずれかがname
キー値に等しいユーザーを取得する4.コメント、マイクロ信号、ニックネームがそれぞれ対応するキー値に等しいユーザーを取得するこれらの3、4つは、サンプル・プログラムで使用できます.
# ,
itchat.search_friends()
# UserName
itchat.search_friends(userName='@abcdefg1234567')
# name
itchat.search_friends(name='littlecodersh')
#
itchat.search_friends(wechatAccount='littlecodersh')
# 、
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(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の値を設定しないと、QRコードピクチャが自動的に削除され、コマンドライン表示が空になります.
よくある質問と回答
Q:なぜ中国語のファイルはアップロードできないのですか?
A:これは
requests
の符号化の問題によるものです.中国語ファイル転送をサポートする必要がある場合は、fields.py(py 3バージョンはここを参照)ファイルをrequestsパッケージのpackages/urllib 3の下に入れます.Q:このパッケージで自分のマイクロ信号をコントローラに変えるにはどうすればいいですか?
A:2つの方法があります.自分のUserNameのメッセージを送信、受信します.受信ファイル転送アシスタント(filehelper)のメッセージを送信
Q:どうして私がメッセージを送ったときに一部のメッセージがうまく出なかったのですか?
A:生まれつき自分のアカウントにメッセージを送ることができないアカウントもありますが、
filehelper
を使うことをお勧めします.作成者
LittleCoder:Python 2 Python 3のフレームワークとメンテナンス.
tempdban:プロトコル、フレームワーク、日常メンテナンス.
Chyroc:第1バージョンのPython 3フレームワークを完了します.
類似項目
youfou/wxpy:優れたapiパッケージとプラグイン、微信ロボット/優雅な微信個人番号API
Liuwons/wxBot:同様のPythonベースの微信ロボット
zixia/wechaty:Javascript(ES 6)ベースの微信個人アカウントロボットNodeJSフレームワーク/ライブラリ
sjdy 521/Mojo-Weixin:Perl言語で作成された微信クライアントフレームワークは、HTTPプロトコルに基づくapiインタフェースをプラグインで提供し、他の言語で呼び出すことができます.
HanSon/vbot:PHP 7ベースの微信個人番号ロボットは、匿名関数を実現することで様々なカスタム機能を容易に実現できます