Wechaty GRPC
gRPC for Wechaty Puppet Service
USAGE
Node.js
wechaty-grpc@NPM
Maintainer:
Python
chatie-grpc@PyPI
Maintainer:
Go
github.com/wechaty/go-grpc
Maintainer:
Java
https://mvnrepository.com/artifact/io.github.wechaty/grpc
Maven:
<dependency>
<groupId>io.github.wechaty</groupId>
<version>0.11.25</version>
<artifactId>grpc</artifactId>
</dependency>
Gradle:
compile 'io.github.wechaty:grpc:0.11.25'
Maintainer:
PHP
github.com/wechaty/php-grpc
Maintainer:
Csharp
Wechaty.Grpc @ Nuget
Maintainer:
DEVELOPMENT
Debug
Build
./scripts/install-protoc.sh
npm install
https://github.com/google/protobuf/releases/latest
Generate Stubs
npm run generate
1. JS for Protocol Buffer
protoc \
--js_out="import_style=commonjs,binary:${OUT_DIR}"
https://github.com/google/protobuf/releases/latest
2. JS for gRPC Stubs
protoc \
--plugin="protoc-gen-grpc=`which grpc_tools_node_protoc_plugin`" \
--grpc_out="${OUT_DIR}"
https://www.npmjs.com/package/grpc-tools
3. TypeScript Typing Definations for Protocol Buffer & gRPC Stubs
protoc \
--plugin="protoc-gen-grpc=node_modules/grpc_tools_node_protoc_ts/bin/protoc-gen-ts" \
--grpc_out="${OUT_DIR}"
https://github.com/agreatfool/grpc_tools_node_protoc_ts
4. JS & TS for gRPC Web
protoc \
--plugin="protoc-gen-ts=node_modules/ts-protoc-gen/bin/protoc-gen-ts" \
--ts_out="service=true:${OUT_DIR}"
https://github.com/improbable-eng/ts-protoc-gen
OpenAPI
Thanks for the ecosystem of gRPC, we can generate OpenAPI Specification from our gRPC proto definitions automatically.
We are using gRPC to JSON proxy generator following the gRPC HTTP spec as the OpenAPI Specification generator (protoc-gen-openapiv2), and using Like grpc-gateway, but written in node and dynamic project to serve a HTTP RESTful API to gRPC proxy.
Image credit: grpc-gateway
Learn more about the RESTful API service for Wechaty from Wechaty OpenAPI.
gRPC Web
RESOURCES
Documentation
Links
Protocol Buffer
gRPC Web
TypeScript Generator
Zoo Keeper
STUN
TCP hole punching
Reverse Engineering
Python Stub
CSharp grpc
HISTORY
master
v0.20 (Feb 21, 2021)
- Rename NPM module name from
@chatie/grpc
to wechaty-grpc
- Add OpenAPI annotations & generators for supporting https://github.com/wechaty/openapi
- Code clean.
v0.18 (Oct 15, 2020)
- Add new
MessageFileStream
and MessageImageStream
to replace the MessageFile
and MessageImage
method to avoid blocking nodejs event loop when sending large files (#88) by @windmemory - Add new
MessageSendFileStream
to replace the MessageSendFile
method to avoid blocking nodejs event loop when sending large files (#89) by @windmemory
v0.17 (Aug 5, 2020)
v0.13 (Apr 19, 2020)
v0.11 (Apr 10, 2020)
- Add Go Support (#50 by @dchaofei)
- Publish Go Module at <github.com/wechaty/go-grpc>
v0.6 (Feb 2020)
- Align gRPC Services with Wechaty Puppet Abstraction
- Add Unit Tests
v0.2 (Jul 2018)
- Automatic Generating gRPC Stubs
- Publish to NPM
v0.0.1 (May 2018)
Initial commiit
MAINTAINER
Huan LI (李卓桓), Google Developer Expert in Machine Learning (ML GDE), zixia@zixia.net
COPYRIGHT & LICENSE
- Code & Docs © 2018-now Huan LI <zixia@zixia.net>
- Code released under the Apache-2.0 License
- Docs released under Creative Commons