Conversational RPA SDK for Chatbot Makers. Join our Discord: https://discord.gg/7q8NBZbQzt
Release Announcement Blog: https://wechaty.js.org/2021/01/25/wechaty-0.56-released/
Implemented enhancements:
wechaty-puppet-hostie
to wechaty-puppet-service
#2122
message.talker\(\)
to replace message.from\(\)
#2094
looseInstanceOfClass
to check FileBox
and Puppet
instances #2090
Fixed bugs:
Closed issues:
Merged pull requests:
Implemented enhancements:
MessageUserQueryFilter
#1929
Image
class for receive images with different sizes. #1871
Fixed bugs:
Closed issues:
Merged pull requests:
Implemented enhancements:
hi ${contact} ${num++}
#1899
Fixed bugs:
Closed issues:
toContact\(\)
should to be implemented. #1855
Merged pull requests:
Implemented enhancements:
@chatie/tsconfig
as the tsconfig.json base configuration #1777
Fixed bugs:
Contact.say\(imageAsFileBox\)
with puppeteer #1795
Closed issues:
Merged pull requests:
Good News: We have new improvements after the past months!
All the users will be suggested to upgrade to the latest v0.26 version for the latest updates and stable fixes.
Cheers!
Huan
Implemented enhancements:
Fixed bugs:
Closed issues:
breaking change
tag in issue #1565
Merged pull requests:
Message.recalled\(\)
#1735 (windmemory)Message.find()
to search message #1534
room-invite
event was added, bot can accept()
room invitation #1492
ContactSelf.qrcode()
Bot can get qrcode for itself #1301
Contact.alias
changed from Sync to Async #1500
Implemented enhancements:
Message.find
to search in cache. #1534
npm install
#1529
Contact.alias
changed from Sync to Async #1500
StatusNotify
with op id
push update information #1310
extends
standard. #1303
Wechaty.unref\(\)
support to unref all the underlying resources. #1197
WECHATY\_PUPPET=wechat4u
#69
Fixed bugs:
xxxIdList
to chunks when map it to payload to prevent block the event loop #1450
puppetPadchat.reset\(\)
should call start\(\)
after stop\(\)
#1385
speech-to-text-bot
#1350
Closed issues:
Room.findAll\(\)
get error when rooms more than 400 #1112
Merged pull requests:
The only purpose for Wechaty v0.18 is to: Reduce Weight!
But, why do we need to reduce weight?
Let's back to May 2016, when the first version of Wechaty was published, it only contains thousands of lines of the code, and at the end of the year 2016, we have about 10,000 lines of the code. (you can read our blog at this time)
As the time passed by in 2017 & 2018, we added more features to Wechaty, like send attachment files, support WeChat protocol other than web like ipad, which means we write more and more codes in Wechaty repository... at last we get almost 30,000 lines of the code, and to be precise: 27,630. (with 377 unit tests, you can check it out at here if you are interested)
Is that fat? 30,000 lines of the code, is not too much, but it is not a small number too. After we finished abstracting the puppet base class after v0.16, it seems we have very good reason to begin reducing weight:
So at this version (v0.18), we have the follow npm modules that splited out from Wechaty:
Stage | Name | Wechaty Puppet | Backend | Version |
---|---|---|---|---|
Release | puppeteer | PuppetPuppeteer | Web API via Browser Hooking | |
Beta | padchat | PuppetPadchat | iPad Protocol | |
Alpha | wechat4u | PuppetWechat4u | Web API via HTTP | |
Alpha | ioscat | PuppetIoscat (WIP) | iPhone App Hooking | |
TBW | Android | Android Hook | 0.0.0 | |
TBW | Win32 | Win32 Hook | 0.0.0 |
Stage | Name | Wechaty Puppet | Backend | Version |
---|---|---|---|---|
Release | N/A | Puppet | Abstract Base Class | |
Release | mock | PuppetMock | Mocking |
If we count the other npm modules that split out from Wechaty before, we can also list them as the following:
Hmm... lots of them aha? So how can we keep all of them in one repository and manage them easily? It must be a nightmare!
So at last, as we published the v0.18, we only left 5,465 source lines of the code in Wechaty repository(11,006 physical lines). We can see a timeline from the history:
Date | SLOC |
---|---|
2016.5 | 3,000 |
2017.1 | 10,000 |
2018.1 | 20,000 |
2018.6 | 27,630 |
2018.7 | 11,006 |
From 27,630 to 11,006, we almost get the half size than before, cheers!
Implemented enhancements:
Fixed bugs:
files
by default #1383
friend
value of ContactPayload
is undefined #1359
Closed issues:
cannot get user\_name from raw payload: {} \[object Promise\]
Error #1399
Merged pull requests:
friend
in ContactPayload #1401 (lijiarui)This release is a BETA release which had been improved with lots of huge refactoring since v0.14.
With v0.16, we can use the branding new Puppet System to connect Wechaty API to any kinds of Puppets, for example:
If you are using Wechaty in a production environment, It is recormmand to skip this version and wait to the next version of 0.18 because this version is still in testing stage and will be continue developing as v0.19.
However, if you want to try the new Puppet like the PuppetPadchat which is powered by the Wechat Pad Protocol, you can upgrade to this version and get the following benifits from it:
Learn more about how to use the PuppetPadchat from Wechaty v0.15 Alpha Testing: Win32/iPad/Android/iOS/API Puppets Support are coming! #1296
https://blog.chatie.io/wechaty-new-release-version-0.16/
BREAKING NEWS: Wechaty logo color was changed from green to blue!
There will be a migration guide from v0.14 to v0.16 will be published on our blog later.
MediaMessage
class #1164
Room.topic()
change from Sycn to Async #1295
Room.alias(contact)
change from Sycn to Async #1293
Room.memberList()
change from Sycn to Async #1290
Room.has(contact)
change from Sycn to Async #1289
Message.mention()
change from sync
to async
#1259
Room.member()
from sync
to async
#1258
scan
event args will be different! #1262
room-leave
event licener changed from Contact
to Contact[]
#723
Message.content()
with Message.text()
#1163
for await (const contact of room) {}
support by ES6 iterators override #1198
WECHATY_HEAD=WECHAT4U
#69
rx-queue
: rxjs@6 from rxjs@5 #1205
Contact
, Room
, Message
, and FriendRequest
class Abstract. #1160 (zixia)Learn more between version at:
Implemented enhancements:
Fixed bugs:
wechaty
as dependency in package.json #500
Closed issues:
TTL expired
error when login #1114
Cannot read property 'MemberList' of undefined
still exisit in the latest docker version #1111
npm run doc
#1105
Merged pull requests:
init
to start
in demo #1017 (xinbenlv)