versi bahasa Inggris
itchat adalah antarmuka akun pribadi WeChat open source. Memanggil WeChat menggunakan python tidak pernah semudah ini.
Dengan kurang dari tiga puluh baris kode, Anda dapat menyelesaikan bot WeChat yang dapat menangani semua informasi.
Tentu saja, penggunaan API ini lebih dari sekedar robot, dan masih banyak lagi fungsi yang menunggu untuk Anda temukan, seperti ini.
Antarmuka ini berbagi metode operasi yang serupa dengan antarmuka akun publik itchatmp, dan Anda dapat belajar menguasai dua alat sekaligus.
Saat ini, WeChat telah menjadi bagian besar dari interaksi sosial pribadi. Saya harap proyek ini dapat membantu Anda memperluas akun WeChat pribadi dan membuat hidup Anda lebih mudah.
Anda dapat menginstal itchat dengan perintah ini:
pip install itchat
Dengan itchat, jika Anda ingin mengirim pesan ke asisten transfer file, lakukan saja ini:
import itchat
itchat . auto_login ()
itchat . send ( 'Hello, filehelper' , toUserName = 'filehelper' )
Jika Anda ingin membalas pesan teks yang dikirimkan kepada diri Anda sendiri, lakukan saja ini:
import itchat
@ itchat . msg_register ( itchat . content . TEXT )
def text_reply ( msg ):
return msg . text
itchat . auto_login ()
itchat . run ()
Beberapa aplikasi lanjutan dapat dilihat pada source code dan aplikasi lanjutan robot open source di bawah ini, atau dapat juga membaca dokumentasinya.
Ini adalah robot kecil open source berdasarkan proyek ini. Lebih baik mendengarnya daripada melihatnya.
Karena jumlah teman bertambah terlalu cepat, demonstrasi fungsi melewati verifikasi teman secara otomatis ditutup sementara.
Dengan mencetak pengguna itchat dan parameter pesan pendaftaran, Anda dapat menemukan bahwa semua nilai ini adalah kamus.
Namun kenyataannya, itchat telah dengan hati-hati menyusun pesan, pengguna, obrolan grup, dan akun publik yang sesuai.
Semua nilai kuncinya dapat diakses dengan cara ini:
@ itchat . msg_register ( TEXT )
def _ ( msg ):
# equals to print(msg['FromUserName'])
print ( msg . fromUserName )
Nama atribut adalah huruf kecil pertama dari nilai kunci.
author = itchat . search_friends ( nickName = 'LittleCoder' )[ 0 ]
author . send ( 'greeting, littlecoder!' )
Melalui kode berikut, WeChat sudah dapat memperoleh dan membalas berbagai informasi sehari-hari.
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 u2005 I received: %s' % (
msg . actualNickName , msg . text ))
itchat . auto_login ( True )
itchat . run ( True )
Anda dapat menggunakan baris perintah untuk menampilkan kode QR saat login dengan perintah berikut:
itchat . auto_login ( enableCmdQR = True )
Beberapa sistem mungkin memiliki lebar karakter yang berbeda, yang dapat disesuaikan dengan menetapkan EnableCmdQR ke kelipatan tertentu:
# 如部分的linux系统,块字符的宽度为一个字符(正常应为两字符),故赋值为2
itchat . auto_login ( enableCmdQR = 2 )
Warna latar belakang konsol default adalah gelap (hitam). Jika warna latar belakang terang (putih), aktifkanCmdQR dapat diberi nilai negatif:
itchat . auto_login ( enableCmdQR = - 1 )
Masuk melalui perintah berikut. Meskipun program ditutup, Anda dapat membukanya kembali dalam jangka waktu tertentu tanpa memindai ulang kode.
itchat . auto_login ( hotReload = True )
Gunakan metode search_friends
untuk mencari pengguna. Ada empat metode pencarian:
UserName
tertentuname
Tiga atau empat di antaranya dapat digunakan bersama-sama. Berikut ini adalah contoh programnya:
# 获取自己的用户信息,返回自己的属性字典
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' )
Akuisisi dan pencarian akun resmi dan obrolan grup dijelaskan secara lebih rinci dalam dokumentasi.
Metode pengunduhan lampiran Itchat disimpan di kunci Teks pesan.
Nama file dari file yang dikirim (nama file default yang diberikan oleh gambar) disimpan dalam kunci Nama File pesan.
Metode download menerima argumen posisi yang tersedia (termasuk nama file) dan menyimpan file sesuai dengan itu.
@ 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' ]
Jika Anda tidak perlu mengunduhnya secara lokal dan hanya ingin membaca string biner untuk diproses lebih lanjut, Anda tidak dapat meneruskan parameter apa pun.
@ itchat . msg_register ([ PICTURE , RECORDING , ATTACHMENT , VIDEO ])
def download_files ( msg ):
with open ( msg . fileName , 'wb' ) as f :
f . write ( msg . download ())
Gunakan perintah berikut untuk menyelesaikan beberapa operasi terbuka:
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 ()
Metode setelah login selesai perlu ditetapkan di loginCallback
.
Metode setelah exit perlu ditetapkan di 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 ()
Jika nilai loginCallback tidak disetel, gambar kode QR akan otomatis terhapus dan tampilan baris perintah akan dihapus.
T: Bagaimana cara mengubah ID WeChat saya menjadi pengontrol melalui paket ini?
A: Ada dua cara: mengirim dan menerima pesan dari Nama Pengguna Anda sendiri; mengirim dan menerima pesan dari asisten transfer file (filehelper)
Q: Mengapa beberapa pesan tidak berhasil terkirim saat saya mengirimkannya?
J: filehelper
akun pada dasarnya tidak dapat mengirim pesan ke akun mereka sendiri.
LittleCoder: Merancang dan memelihara versi Python2 dan Python3.
tempdban: protokol, arsitektur, dan pemeliharaan harian.
Chyroc: Menyelesaikan versi pertama arsitektur Python3.
youfou/wxpy: Pengemasan api luar biasa dan plug-in pendukung, robot WeChat/API akun pribadi WeChat yang elegan
liuwons/wxBot: Robot WeChat berbasis Python serupa
zixia/wechaty: Kerangka kerja/perpustakaan NodeJS robot akun pribadi WeChat berdasarkan Javascript (ES6)
sjdy521/Mojo-Weixin: Kerangka kerja klien WeChat yang ditulis dalam bahasa Perl, yang dapat menyediakan antarmuka API berdasarkan protokol HTTP melalui plug-in untuk dipanggil oleh bahasa lain
HanSon/vbot: Robot akun pribadi WeChat berbasis PHP7, yang dapat dengan mudah mengimplementasikan berbagai fungsi khusus dengan mengimplementasikan fungsi anonim
yaphone/itchat4j: Menggunakan Java untuk memperluas kemampuan ID WeChat pribadi
kanjielu/jeeves: Robot WeChat dikembangkan menggunakan springboot
Jika Anda mempunyai pertanyaan atau saran, Anda dapat mendiskusikannya dengan saya di Edisi ini
Atau Anda juga dapat berkomunikasi di gitter:
Tentu saja, Anda juga dapat bergabung dalam diskusi grup QQ baru kami: 549762872, 205872856