From 5c62bfbb3e974c94861293497a21d355cde8590c Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Sun, 4 Jul 2021 17:15:35 +0530 Subject: [PATCH 01/20] Week-7 Wechaty Polyglot --- docusaurus/docs/polyglot/overview.mdx | 41 +++++++++++++++++---------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index 07b29c87900..cf1d6b64ce8 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -15,33 +15,44 @@ import PolyglotTable from './transclusions/polyglot-table.mdx' -:::tip +## Wechaty Getting Started Project -We have the world's shortest lines code of chatbot in all programming languages! +If you are a total beginner to Wechaty, this project is the best starting point for you. You can run it on a Cloud IDE in a couple of steps or on a locally on your machine. +**Features of Wechaty Getting Started project** -::: +* It works in all operating systems like on Linux, Mac or Windows. +* It Supports all puppets like Web, Pad, Windows, and Mac. +* It replies with a `dong` message whenever it receives a `ding` message. - +### Running Wechaty Getting Started Project on a cloud based IDE -:::tip +The fastest way to get started with Wechaty is to use a Cloud based IDE for running the Wechaty Getting Started Project. You can either use Gitpod or Google Cloud Shell. +If you are a total beginner, then we recommed Gitpod. -Wechaty in all programming languages have the same API, as the TypeScript documented version. +#### Using Gitpod Wechaty -::: +[![GitPod Ready-to-Code][gitpod_img]][gitpod_link] -## Getting Started Templates {#getting-started-templates} +[gitpod_img]: https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod +[gitpod_link]: https://gitpod.io/#https://github.com/wechaty/wechaty-getting-started - +Gitpod is an online and open source platform for automated and ready-to-code development environments. You can click the button below to access the complete setup of [Wechaty Getting Started ding-dong BOT](examples/ding-dong-bot.ts) project on gitpod. If you have never used gitpod before, you will be required to login using your gitHub account. +You can learn more about [Gitpod Wechaty](docs/gitpod.md) from our blog: [Getting Started Without Leaving Your Browser: Wechaty Gitpod, @huan, Feb 06, 2021](https://wechaty.js.org/2021/02/06/wechaty-getting-started-without-leave-your-browser/) -## Blogs +#### Using Google Cloud Shell -- [Multi Language Wechaty Beta Release Announcement!](https://wechaty.js.org/2020/06/19/multi-language-wechaty-beta-release/) +[![Open in Cloud Shell][shell_img]][shell_link] +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.svg +[shell_link]: https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fwechaty%2Fwechaty-getting-started&cloudshell_open_in_editor=examples/ding-dong-bot.ts&cloudshell_workspace=.&cloudshell_tutorial=examples/tutorials/google-cloud-shell-tutorial.md -## Docs (Issues) +Google Cloud Shell is an online development and operations environment accessible anywhere with your browser. You can run this project on Google Cloud Shell by clicking the button below. +Generated via [open-in-cloud-shell](https://cloud.google.com/shell/docs/open-in-cloud-shell) +After opening the Google Cloud Shell editor, there it should open a tutorial in the right panel which you can follow to learn more about Wechaty. +Learn more about running this project on Google Cloud Shell from our blog: [Google Cloud Shell Tutorials for Wechaty, @huan, Feb 20, 2021](https://wechaty.js.org/2021/02/20/google-cloud-shell-tutorials/) -- [Wechaty is All You Need: Python, Go, and Java Translation Project wechaty/wechaty#1927](https://github.com/wechaty/wechaty/discussions/1927) -- [Python the Wechaty Way wechaty/python-wechaty#13](https://github.com/wechaty/python-wechaty/issues/13) -- [Go Wechaty project initialized! wechaty/go-wechaty#1](https://github.com/wechaty/go-wechaty/issues/1)] +## Blogs + +- [Multi Language Wechaty Beta Release Announcement!](https://wechaty.js.org/2020/06/19/multi-language-wechaty-beta-release/) ## Support From bd7f29d9e035c5cfbfd1f17d533255078c5df75b Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Sun, 4 Jul 2021 17:59:00 +0530 Subject: [PATCH 02/20] Update overview.mdx --- docusaurus/docs/polyglot/overview.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index cf1d6b64ce8..37576b2de76 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -36,8 +36,8 @@ If you are a total beginner, then we recommed Gitpod. [gitpod_img]: https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod [gitpod_link]: https://gitpod.io/#https://github.com/wechaty/wechaty-getting-started -Gitpod is an online and open source platform for automated and ready-to-code development environments. You can click the button below to access the complete setup of [Wechaty Getting Started ding-dong BOT](examples/ding-dong-bot.ts) project on gitpod. If you have never used gitpod before, you will be required to login using your gitHub account. -You can learn more about [Gitpod Wechaty](docs/gitpod.md) from our blog: [Getting Started Without Leaving Your Browser: Wechaty Gitpod, @huan, Feb 06, 2021](https://wechaty.js.org/2021/02/06/wechaty-getting-started-without-leave-your-browser/) +Gitpod is an online and open source platform for automated and ready-to-code development environments.If you have never used gitpod before, you will be required to login using your gitHub account. +You can learn more about Gitpod Wechaty from our blog: [Getting Started Without Leaving Your Browser: Wechaty Gitpod, @huan, Feb 06, 2021](https://wechaty.js.org/2021/02/06/wechaty-getting-started-without-leave-your-browser/) #### Using Google Cloud Shell From 7e46df4535b1c3074b547a9cefbe7a824debf32c Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Tue, 6 Jul 2021 08:50:52 +0530 Subject: [PATCH 03/20] updated with changes done --- docusaurus/docs/polyglot/overview.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index 37576b2de76..dc9b3e84e15 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -17,17 +17,17 @@ import PolyglotTable from './transclusions/polyglot-table.mdx' ## Wechaty Getting Started Project -If you are a total beginner to Wechaty, this project is the best starting point for you. You can run it on a Cloud IDE in a couple of steps or on a locally on your machine. +If you are a total beginner to Wechaty, this project is the best starting point for you. You can run it on a Cloud IDE in a couple of steps or locally on your machine. **Features of Wechaty Getting Started project** -* It works in all operating systems like on Linux, Mac or Windows. +* It works in all operating systems like Linux, Mac or Windows. * It Supports all puppets like Web, Pad, Windows, and Mac. * It replies with a `dong` message whenever it receives a `ding` message. -### Running Wechaty Getting Started Project on a cloud based IDE +### Running Wechaty Getting Started Project on a cloud-based IDE -The fastest way to get started with Wechaty is to use a Cloud based IDE for running the Wechaty Getting Started Project. You can either use Gitpod or Google Cloud Shell. -If you are a total beginner, then we recommed Gitpod. +The fastest way to get started with Wechaty is to use a Cloud-based IDE for running the Wechaty Getting Started Project. You can either use Gitpod or Google Cloud Shell. +If you are a total beginner, then we recommend Gitpod. #### Using Gitpod Wechaty @@ -36,7 +36,7 @@ If you are a total beginner, then we recommed Gitpod. [gitpod_img]: https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod [gitpod_link]: https://gitpod.io/#https://github.com/wechaty/wechaty-getting-started -Gitpod is an online and open source platform for automated and ready-to-code development environments.If you have never used gitpod before, you will be required to login using your gitHub account. +Gitpod is an online and open-source platform for automated and ready-to-code development environments. If you have never used Gitpod before, you will be required to log in using your GitHub account. You can learn more about Gitpod Wechaty from our blog: [Getting Started Without Leaving Your Browser: Wechaty Gitpod, @huan, Feb 06, 2021](https://wechaty.js.org/2021/02/06/wechaty-getting-started-without-leave-your-browser/) #### Using Google Cloud Shell @@ -47,7 +47,7 @@ You can learn more about Gitpod Wechaty from our blog: [Getting Started Without Google Cloud Shell is an online development and operations environment accessible anywhere with your browser. You can run this project on Google Cloud Shell by clicking the button below. Generated via [open-in-cloud-shell](https://cloud.google.com/shell/docs/open-in-cloud-shell) -After opening the Google Cloud Shell editor, there it should open a tutorial in the right panel which you can follow to learn more about Wechaty. +After opening the Google Cloud Shell editor, there should open a tutorial in the right panel which you can follow to learn more about Wechaty. Learn more about running this project on Google Cloud Shell from our blog: [Google Cloud Shell Tutorials for Wechaty, @huan, Feb 20, 2021](https://wechaty.js.org/2021/02/20/google-cloud-shell-tutorials/) ## Blogs From 43b2c71a3279ac4e4ff3354b4484fd731724d416 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Wed, 14 Jul 2021 10:09:17 +0530 Subject: [PATCH 04/20] Added the new links suggested --- docusaurus/docs/polyglot/overview.mdx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index dc9b3e84e15..0ea474a574b 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -37,7 +37,7 @@ If you are a total beginner, then we recommend Gitpod. [gitpod_link]: https://gitpod.io/#https://github.com/wechaty/wechaty-getting-started Gitpod is an online and open-source platform for automated and ready-to-code development environments. If you have never used Gitpod before, you will be required to log in using your GitHub account. -You can learn more about Gitpod Wechaty from our blog: [Getting Started Without Leaving Your Browser: Wechaty Gitpod, @huan, Feb 06, 2021](https://wechaty.js.org/2021/02/06/wechaty-getting-started-without-leave-your-browser/) +You can learn more about Gitpod Wechaty from Gitpod Tutorials for Wechaty. #### Using Google Cloud Shell @@ -45,14 +45,16 @@ You can learn more about Gitpod Wechaty from our blog: [Getting Started Without [shell_img]: https://gstatic.com/cloudssh/images/open-btn.svg [shell_link]: https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fwechaty%2Fwechaty-getting-started&cloudshell_open_in_editor=examples/ding-dong-bot.ts&cloudshell_workspace=.&cloudshell_tutorial=examples/tutorials/google-cloud-shell-tutorial.md -Google Cloud Shell is an online development and operations environment accessible anywhere with your browser. You can run this project on Google Cloud Shell by clicking the button below. -Generated via [open-in-cloud-shell](https://cloud.google.com/shell/docs/open-in-cloud-shell) +Google Cloud Shell is an online development and operations environment accessible anywhere with your browser. You can run this project on Google Cloud Shell by clicking the button below.Generated via [open-in-cloud-shell](https://cloud.google.com/shell/docs/open-in-cloud-shell) After opening the Google Cloud Shell editor, there should open a tutorial in the right panel which you can follow to learn more about Wechaty. -Learn more about running this project on Google Cloud Shell from our blog: [Google Cloud Shell Tutorials for Wechaty, @huan, Feb 20, 2021](https://wechaty.js.org/2021/02/20/google-cloud-shell-tutorials/) +Learn more about running this project on Google Cloud Shell from [Google Cloud Shell Tutorials for Wechaty](https://wechaty.js.org/docs/quick-start/running-on-google-cloud-shell) ## Blogs -- [Multi Language Wechaty Beta Release Announcement!](https://wechaty.js.org/2020/06/19/multi-language-wechaty-beta-release/) +Here are some of the blogs related to latest Wechaty Beta releases. + +* [Multi Language Wechaty Beta Release Announcement!](https://wechaty.js.org/2020/06/19/multi-language-wechaty-beta-release/) +* [Getting Started Without Leaving Your Browser: Wechaty Gitpod, @huan, Feb 06, 2021](https://wechaty.js.org/2021/02/06/wechaty-getting-started-without-leave-your-browser/) ## Support From efb6c097ef88c7bffbfe22aca84f4315556106d7 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Thu, 15 Jul 2021 17:25:35 +0530 Subject: [PATCH 05/20] Scala-Wechaty --- docusaurus/docs/polyglot/scala/overview.md | 36 +++++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/docusaurus/docs/polyglot/scala/overview.md b/docusaurus/docs/polyglot/scala/overview.md index f401c4b14a7..ac24c519855 100644 --- a/docusaurus/docs/polyglot/scala/overview.md +++ b/docusaurus/docs/polyglot/scala/overview.md @@ -6,28 +6,48 @@ sidebar_label: Scala [![Scala Wechaty](https://img.shields.io/badge/Wechaty-Scala-890)](https://github.com/wechaty/scala-wechaty) -- GitHub Repo -- Getting Started Template Repo +Scala Wechaty is a Scala programming client derived from the Wechaty ecosystem.Scala's static types help avoid bugs in complex applications,hence Scala wechaty is very easy to use,implement and is also very efficient.You can find more information on Scala-Wechaty [here](https://github.com/wechaty/scala-wechaty-getting-started).The [General Architecture Diagram](https://wechaty.js.org/docs/polyglot/diy/) illustrates on how the Scala-Wechaty can be implemented on the already existing TypeScript Wechaty ecosystem. + +## Features of Scala-Wechaty + +* Stable interaction with back-end GRPC, continuous and stable operation for many days. +* The front end implements some functions of `Contact` and `Message`. ## Getting Started -Template Repo: +Run the below command for starting the Scala-Wechaty bot. ```sh git clone git@github.com:wechaty/scala-wechaty-getting-started.git cd scala-wechaty-getting-started make install -make bot +export WECHATY_PUPPET=wechaty-puppet-hostie +export WECHATY_PUPPET_HOSTIE_TOKEN=your_token_at_here +make bot # or +scala examples/ding-dong-bot.scala ``` -## Blogs +## Translation of TypeScript to Scala + +There are a hundred (100) lines class named `Image` in charge of downloading the WeChat image to different sizes.Below are the links to Image class for both TypeScript and Scala for better understanding the code and the translation. + +* TypeScript: https://github.com/wechaty/wechaty/blob/master/src/user/image.ts +* Scala: https://github.com/wechaty/scala-wechaty/blob/master/wechaty/src/main/scala/wechaty/user/Image.scala + +## Blogs and links + +Do checkout the blogs and Github links to get more details about the Scala-Wechaty. + +* [Blogs](https://wechaty.js.org/tags.html#scala) +* [GitHub Repo for Scala](https://github.com/wechaty/scala-wechaty) -Read blogs with the `scala` tag at ## History -- [Scala Wechaty, @jcai, Jul 2, 2020](https://github.com/wechaty/scala-wechaty) +For more information on the Scala-Wechaty releases and its history the below link can be visited. + +* [Scala Wechaty, @jcai, Jul 2, 2020](https://github.com/wechaty/scala-wechaty) ## Maintainers -- [@jcai](https://wechaty.js.org/contributors/jcai) +* [@jcai](https://wechaty.js.org/contributors/jcai) From 7741e9cfd0e569097324f5a953352a3e4e05223c Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Thu, 15 Jul 2021 17:31:44 +0530 Subject: [PATCH 06/20] Update overview.md --- docusaurus/docs/polyglot/scala/overview.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docusaurus/docs/polyglot/scala/overview.md b/docusaurus/docs/polyglot/scala/overview.md index ac24c519855..d498b15efac 100644 --- a/docusaurus/docs/polyglot/scala/overview.md +++ b/docusaurus/docs/polyglot/scala/overview.md @@ -31,8 +31,8 @@ scala examples/ding-dong-bot.scala There are a hundred (100) lines class named `Image` in charge of downloading the WeChat image to different sizes.Below are the links to Image class for both TypeScript and Scala for better understanding the code and the translation. -* TypeScript: https://github.com/wechaty/wechaty/blob/master/src/user/image.ts -* Scala: https://github.com/wechaty/scala-wechaty/blob/master/wechaty/src/main/scala/wechaty/user/Image.scala +* TypeScript: +* Scala: ## Blogs and links @@ -41,7 +41,6 @@ Do checkout the blogs and Github links to get more details about the Scala-Wecha * [Blogs](https://wechaty.js.org/tags.html#scala) * [GitHub Repo for Scala](https://github.com/wechaty/scala-wechaty) - ## History For more information on the Scala-Wechaty releases and its history the below link can be visited. From 10100854ec3e42329bef98109ecbe6ca7cbd9c34 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Thu, 15 Jul 2021 17:55:42 +0530 Subject: [PATCH 07/20] checked grammar errors --- docusaurus/docs/polyglot/scala/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docusaurus/docs/polyglot/scala/overview.md b/docusaurus/docs/polyglot/scala/overview.md index d498b15efac..3b175589919 100644 --- a/docusaurus/docs/polyglot/scala/overview.md +++ b/docusaurus/docs/polyglot/scala/overview.md @@ -6,7 +6,7 @@ sidebar_label: Scala [![Scala Wechaty](https://img.shields.io/badge/Wechaty-Scala-890)](https://github.com/wechaty/scala-wechaty) -Scala Wechaty is a Scala programming client derived from the Wechaty ecosystem.Scala's static types help avoid bugs in complex applications,hence Scala wechaty is very easy to use,implement and is also very efficient.You can find more information on Scala-Wechaty [here](https://github.com/wechaty/scala-wechaty-getting-started).The [General Architecture Diagram](https://wechaty.js.org/docs/polyglot/diy/) illustrates on how the Scala-Wechaty can be implemented on the already existing TypeScript Wechaty ecosystem. +Scala Wechaty is a Scala programming client derived from the Wechaty ecosystem. Scala's static types help avoid bugs in complex applications, hence Scala wechaty is very easy to use, implement and is also very efficient. You can find more information on Scala-Wechaty [here](https://github.com/wechaty/scala-wechaty-getting-started). The [General Architecture Diagram](https://wechaty.js.org/docs/polyglot/diy/) illustrates how the Scala-Wechaty can be implemented on the already existing TypeScript Wechaty ecosystem. ## Features of Scala-Wechaty @@ -29,7 +29,7 @@ scala examples/ding-dong-bot.scala ## Translation of TypeScript to Scala -There are a hundred (100) lines class named `Image` in charge of downloading the WeChat image to different sizes.Below are the links to Image class for both TypeScript and Scala for better understanding the code and the translation. +There is a hundred (100) lines class named `Image` in charge of downloading the WeChat image to different sizes. Below are the links to the Image class for both TypeScript and Scala for a better understanding of the code and the translation. * TypeScript: * Scala: From bba929e26aa1b615bf81621abcd13a4df6e7faf8 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Fri, 16 Jul 2021 16:23:23 +0530 Subject: [PATCH 08/20] updated with changes requested --- docusaurus/docs/polyglot/scala/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus/docs/polyglot/scala/overview.md b/docusaurus/docs/polyglot/scala/overview.md index 3b175589919..381c8653410 100644 --- a/docusaurus/docs/polyglot/scala/overview.md +++ b/docusaurus/docs/polyglot/scala/overview.md @@ -10,7 +10,7 @@ Scala Wechaty is a Scala programming client derived from the Wechaty ecosystem. ## Features of Scala-Wechaty -* Stable interaction with back-end GRPC, continuous and stable operation for many days. +* Stable interaction with back-end gRPC, continuous and stable operation. * The front end implements some functions of `Contact` and `Message`. ## Getting Started From f5e6e1355379735547f4d0769b251f8ba0fadebc Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Sun, 18 Jul 2021 16:53:54 +0530 Subject: [PATCH 09/20] Added the links --- docusaurus/docs/polyglot/overview.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index 0ea474a574b..3c55ef69dae 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -37,7 +37,7 @@ If you are a total beginner, then we recommend Gitpod. [gitpod_link]: https://gitpod.io/#https://github.com/wechaty/wechaty-getting-started Gitpod is an online and open-source platform for automated and ready-to-code development environments. If you have never used Gitpod before, you will be required to log in using your GitHub account. -You can learn more about Gitpod Wechaty from Gitpod Tutorials for Wechaty. +You can learn more about Gitpod Wechaty from [Gitpod Tutorials for Wechaty](https://wechaty.js.org/docs/quick-start/running-on-gitpod). #### Using Google Cloud Shell From 2b15f8520d7784912f0c421e6c5dd5e10bcc3546 Mon Sep 17 00:00:00 2001 From: shraddhavp Date: Sun, 29 Aug 2021 22:53:01 +0530 Subject: [PATCH 10/20] Added Polyglot Architecture image --- docusaurus/static/img/polyglot-architecure.webp | Bin 0 -> 17034 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docusaurus/static/img/polyglot-architecure.webp diff --git a/docusaurus/static/img/polyglot-architecure.webp b/docusaurus/static/img/polyglot-architecure.webp new file mode 100644 index 0000000000000000000000000000000000000000..e1419d956baf916bfe6e9b3145fffc073bed0a9f GIT binary patch literal 17034 zcmV)lK%c)-Nk&G3LI40)MM6+kP&il$0000G0000+0suJy06|PpNZkVf00EF|ZJQz~ zmCV^|z*pnVEZVvSbbW!)Gl!un!Xes2=+GJN?wPy0OXRR}ex$8_rl)GYm5K;SkR&;h z;&B2sSfioX?Vh*zkLBcyyb7m_YWW#5C(>2ZJWs`>?VXy}TqClS40@<|*AvKOW%F*3 zLv&+aSyqe)sMr^bNHF~^IYw`%XXH~~Q}OS$jMYsJQgRN!pl!&wWjH z==F#QO^%W-cmdg>Agqy`rN%=4G_prBWWT%EU-<9s@~)N~rrLs*>#>NQT=er@{IeyI zWj=b+Wt=Q%Gpu69UvFK;+k%$2iu_-FE~BrYDeL^DgPbOW(%ygGf8KxIf8KxIe?v>D zfif^URT4&L+`{O@Z5W;Z52L%0K+(OC!01kGKziRuLfYYy9x0-2bQ2pz29h@T;A<)3 z>UI&`A`^`${ucxzM10eoWBB=Yy2wg0DCQUS1X3hcHt&W@xG}FxWT>2+k=I2v6)rzR z=0v(`n&)YYr=sb3%{5{;_jGArA)(T~;m_59LOs6|pm2iSECL0Z%WTwVSol)TYYV{w z?O-*YfPtDh-GzonjFuBL(0aa66@ddav5l(W;Ue3p3La=a�wAo|LAMpXboJ6T3m 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 t(>Zi!2>?efSv01rk6_Y?xk9bm}-004&AH*x>~ literal 0 HcmV?d00001 From fa2bdd05ea72cdf4a139af47d30d7811dcd8e40d Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Wed, 8 Sep 2021 16:57:11 +0530 Subject: [PATCH 11/20] requested changes done --- docusaurus/docs/polyglot/overview.mdx | 33 +++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index 3c55ef69dae..fc3d29baca6 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -15,7 +15,9 @@ import PolyglotTable from './transclusions/polyglot-table.mdx' -## Wechaty Getting Started Project +## Wechaty Polyglot + +Wechaty has the world's shortest lines code of chatbot in all programming languages!.This section gives an overview of implementing in different programming languages If you are a total beginner to Wechaty, this project is the best starting point for you. You can run it on a Cloud IDE in a couple of steps or locally on your machine. **Features of Wechaty Getting Started project** @@ -51,11 +53,38 @@ Learn more about running this project on Google Cloud Shell from [Google Cloud S ## Blogs -Here are some of the blogs related to latest Wechaty Beta releases. +Here are some of the blogs related to latest Wechaty Beta releases and also some other helpful links. * [Multi Language Wechaty Beta Release Announcement!](https://wechaty.js.org/2020/06/19/multi-language-wechaty-beta-release/) * [Getting Started Without Leaving Your Browser: Wechaty Gitpod, @huan, Feb 06, 2021](https://wechaty.js.org/2021/02/06/wechaty-getting-started-without-leave-your-browser/) +* [Wechaty is All You Need: Python, Go, and Java Translation Project wechaty/wechaty#1927](https://github.com/wechaty/wechaty/discussions/1927) +* [Python the Wechaty Way wechaty/python-wechaty#13](https://github.com/wechaty/python-wechaty/issues/13) +* [Go Wechaty project initialized! wechaty/go-wechaty#1](https://github.com/wechaty/go-wechaty/issues/1) ## Support You can [join our Gitter](https://gitter.im/wechaty/wechaty) network if you aren’t already a member. + +### WeChat Rooms + +We have Polyglot Wechaty User Group on WeChat, and we are always looking for new members. + +import FridayQrCodeImage from '../../src/components/friday-qrcode-image' + +Scan the above QR Code to add Friday BOT to your WeChat: + + + +Then, send it one of the following message to join a specific language group: + +| Secret Code | Language Group | +| :--- | :--- | +| `openapi wechaty` | OpenAPI(Swagger/gRPC) Wechaty User Group | +| `python wechaty` | Python Wechaty User Group | +| `java wechaty` | Java Wechaty User Group | +| `go wechaty` | Go Wechaty User Group | +| `dotnet wechaty` | dotNet(.NET) Wechaty User Group | +| `rust wechaty` | Rust Wechaty User Group | +| `php wechaty` | PHP Wechaty User Group | +| `scala wechaty` | scala Wechaty User Group | +| `typescript wechaty` | TypeScript Wechaty User Group | From ff14191068e386eaaccaecf61ee8f42cafdb53b3 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Thu, 9 Sep 2021 15:25:50 +0530 Subject: [PATCH 12/20] Update overview.mdx --- docusaurus/docs/polyglot/overview.mdx | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index b44afd3ae00..0ad3a35849d 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -17,7 +17,7 @@ import PolyglotTable from './transclusions/polyglot-table.mdx' ## Wechaty Polyglot -Wechaty has the world's shortest lines code of chatbot in all programming languages!.This section gives an overview of implementing in different programming languages +Wechaty has the world's shortest lines code of chatbot in all programming languages!.This section gives an overview of implementing in different programming languages.Wechaty in all programming languages have the same API, as the TypeScript documented version. If you are a total beginner to Wechaty, this project is the best starting point for you. You can run it on a Cloud IDE in a couple of steps or locally on your machine. **Features of Wechaty Getting Started project** @@ -31,26 +31,6 @@ If you are a total beginner to Wechaty, this project is the best starting point The fastest way to get started with Wechaty is to use a Cloud-based IDE for running the Wechaty Getting Started Project. You can either use Gitpod or Google Cloud Shell. If you are a total beginner, then we recommend Gitpod. -#### Using Gitpod Wechaty - -[![GitPod Ready-to-Code][gitpod_img]][gitpod_link] - -[gitpod_img]: https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod -[gitpod_link]: https://gitpod.io/#https://github.com/wechaty/wechaty-getting-started - -Gitpod is an online and open-source platform for automated and ready-to-code development environments. If you have never used Gitpod before, you will be required to log in using your GitHub account. -You can learn more about Gitpod Wechaty from [Gitpod Tutorials for Wechaty](https://wechaty.js.org/docs/quick-start/running-on-gitpod). - -#### Using Google Cloud Shell - -[![Open in Cloud Shell][shell_img]][shell_link] -[shell_img]: https://gstatic.com/cloudssh/images/open-btn.svg -[shell_link]: https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fwechaty%2Fwechaty-getting-started&cloudshell_open_in_editor=examples/ding-dong-bot.ts&cloudshell_workspace=.&cloudshell_tutorial=examples/tutorials/google-cloud-shell-tutorial.md - -Google Cloud Shell is an online development and operations environment accessible anywhere with your browser. You can run this project on Google Cloud Shell by clicking the button below.Generated via [open-in-cloud-shell](https://cloud.google.com/shell/docs/open-in-cloud-shell) -After opening the Google Cloud Shell editor, there should open a tutorial in the right panel which you can follow to learn more about Wechaty. -Learn more about running this project on Google Cloud Shell from [Google Cloud Shell Tutorials for Wechaty](https://wechaty.js.org/docs/quick-start/running-on-google-cloud-shell) - ## Blogs Here are some of the blogs related to latest Wechaty Beta releases and also some other helpful links. From 2dfe2a7ea1fda9facf9eaa1eb74c7162ff156978 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Fri, 10 Sep 2021 17:32:23 +0530 Subject: [PATCH 13/20] added all the changes requested --- docusaurus/docs/polyglot/overview.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index 0ad3a35849d..946af6f9d6c 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -31,6 +31,10 @@ If you are a total beginner to Wechaty, this project is the best starting point The fastest way to get started with Wechaty is to use a Cloud-based IDE for running the Wechaty Getting Started Project. You can either use Gitpod or Google Cloud Shell. If you are a total beginner, then we recommend Gitpod. +## Getting Started Templates {#getting-started-templates} + + + ## Blogs Here are some of the blogs related to latest Wechaty Beta releases and also some other helpful links. From d54031c0ef24fffd908a8a120bc65a49241321b8 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Sat, 11 Sep 2021 10:10:32 +0530 Subject: [PATCH 14/20] Update overview.md --- docusaurus/docs/polyglot/scala/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docusaurus/docs/polyglot/scala/overview.md b/docusaurus/docs/polyglot/scala/overview.md index 381c8653410..7316a6b92d5 100644 --- a/docusaurus/docs/polyglot/scala/overview.md +++ b/docusaurus/docs/polyglot/scala/overview.md @@ -31,8 +31,8 @@ scala examples/ding-dong-bot.scala There is a hundred (100) lines class named `Image` in charge of downloading the WeChat image to different sizes. Below are the links to the Image class for both TypeScript and Scala for a better understanding of the code and the translation. -* TypeScript: -* Scala: +* [TypeScript](https://github.com/wechaty/wechaty/blob/master/src/user/image.ts) +* [Scala](https://github.com/wechaty/scala-wechaty/blob/master/wechaty/src/main/scala/wechaty/user/Image.scala) ## Blogs and links From eb84157c19e86f8acaa1de3ca5573ffad873e938 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Sat, 11 Sep 2021 10:23:18 +0530 Subject: [PATCH 15/20] Update overview.mdx --- docusaurus/docs/polyglot/overview.mdx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docusaurus/docs/polyglot/overview.mdx b/docusaurus/docs/polyglot/overview.mdx index 946af6f9d6c..529b4e8369b 100644 --- a/docusaurus/docs/polyglot/overview.mdx +++ b/docusaurus/docs/polyglot/overview.mdx @@ -35,6 +35,11 @@ If you are a total beginner, then we recommend Gitpod. +## Implementation of Chatbots in different languages + +Check the below implementation of Wechaty bot in different languages. + + ## Blogs Here are some of the blogs related to latest Wechaty Beta releases and also some other helpful links. From 514384f3371d6185afd346a2236ae04bc35a4fe2 Mon Sep 17 00:00:00 2001 From: Huan Date: Sat, 11 Sep 2021 13:46:08 +0800 Subject: [PATCH 16/20] baidu published by @valerieeeee --- ...09-10-baidu-paddle-machine-learning-chatbot-competition.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jekyll/_posts/2021-09-10-baidu-paddle-machine-learning-chatbot-competition.md b/jekyll/_posts/2021-09-10-baidu-paddle-machine-learning-chatbot-competition.md index 20b694c09ac..77e447a941f 100644 --- a/jekyll/_posts/2021-09-10-baidu-paddle-machine-learning-chatbot-competition.md +++ b/jekyll/_posts/2021-09-10-baidu-paddle-machine-learning-chatbot-competition.md @@ -1,6 +1,6 @@ --- title: Baidu Paddle ❤️ Wechaty & Mixlab ML Chatbot 大赛作品推荐 -author: huan +author: valerieeeee categories: - project image: /assets/2021/09-baidu-paddle-machine-learning-chatbot-competition/baidu-wechaty.webp @@ -18,7 +18,7 @@ tags: > 大赛启动博客:[AI Chatbot Competition -- Metaverse启动机之重构现世!, @valerieeeee, Jul 07, 2021](https://wechaty.js.org/2021/07/07/wechaty-with-paddlepaddle/) -我今天在打分评审过程中,顺便分享这些项目给大家,希望能够帮助大家在这个阶段的创意赛中获得更多的创意! +Wechaty 社区评委们在打分评审过程中,将优秀的项目分享给大家,希望能够帮助大家未来发挥出更多的创意! ## 一只能看懂表格图片的数据助手 From 1abe374df5ee7648a41ae33a0ea978813dbbfb84 Mon Sep 17 00:00:00 2001 From: Huan Date: Sat, 11 Sep 2021 13:46:22 +0800 Subject: [PATCH 17/20] 0.9.21 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b5aa93df7ac..87d553efc87 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wechaty.js.org", - "version": "0.9.20", + "version": "0.9.21", "description": "Wechaty Official Website for News, Blogs, Contributor Profiles, and Documentations", "private": true, "directories": { From 10089e2aa672f67614b7cab83ff82bf84195febf Mon Sep 17 00:00:00 2001 From: Huan Date: Sat, 11 Sep 2021 13:47:11 +0800 Subject: [PATCH 18/20] 0.9.22 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 87d553efc87..bfd033608ae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wechaty.js.org", - "version": "0.9.21", + "version": "0.9.22", "description": "Wechaty Official Website for News, Blogs, Contributor Profiles, and Documentations", "private": true, "directories": { From f8565bf86fae1304cd80282744e66551dd95e94c Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Sat, 11 Sep 2021 12:13:12 +0530 Subject: [PATCH 19/20] deleted the image --- docusaurus/static/img/polyglot-architecure.webp | Bin 17034 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docusaurus/static/img/polyglot-architecure.webp diff --git a/docusaurus/static/img/polyglot-architecure.webp b/docusaurus/static/img/polyglot-architecure.webp deleted file mode 100644 index e1419d956baf916bfe6e9b3145fffc073bed0a9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17034 zcmV)lK%c)-Nk&G3LI40)MM6+kP&il$0000G0000+0suJy06|PpNZkVf00EF|ZJQz~ zmCV^|z*pnVEZVvSbbW!)Gl!un!Xes2=+GJN?wPy0OXRR}ex$8_rl)GYm5K;SkR&;h z;&B2sSfioX?Vh*zkLBcyyb7m_YWW#5C(>2ZJWs`>?VXy}TqClS40@<|*AvKOW%F*3 zLv&+aSyqe)sMr^bNHF~^IYw`%XXH~~Q}OS$jMYsJQgRN!pl!&wWjH z==F#QO^%W-cmdg>Agqy`rN%=4G_prBWWT%EU-<9s@~)N~rrLs*>#>NQT=er@{IeyI zWj=b+Wt=Q%Gpu69UvFK;+k%$2iu_-FE~BrYDeL^DgPbOW(%ygGf8KxIf8KxIe?v>D zfif^URT4&L+`{O@Z5W;Z52L%0K+(OC!01kGKziRuLfYYy9x0-2bQ2pz29h@T;A<)3 z>UI&`A`^`${ucxzM10eoWBB=Yy2wg0DCQUS1X3hcHt&W@xG}FxWT>2+k=I2v6)rzR z=0v(`n&)YYr=sb3%{5{;_jGArA)(T~;m_59LOs6|pm2iSECL0Z%WTwVSol)TYYV{w z?O-*YfPtDh-GzonjFuBL(0aa66@ddav5l(W;Ue3p3La=a�wAo|LAMpXboJ6T3m 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 t(>Zi!2>?efSv01rk6_Y?xk9bm}-004&AH*x>~ From 58d74b931a7b6214ba1bd2be28db0867e11d7826 Mon Sep 17 00:00:00 2001 From: Shraddha <42699578+shraddhavp@users.noreply.github.com> Date: Sat, 11 Sep 2021 12:17:42 +0530 Subject: [PATCH 20/20] added new image with the changes requested --- docusaurus/static/img/polyglot-architecure.webp | Bin 0 -> 21178 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docusaurus/static/img/polyglot-architecure.webp diff --git a/docusaurus/static/img/polyglot-architecure.webp b/docusaurus/static/img/polyglot-architecure.webp new file mode 100644 index 0000000000000000000000000000000000000000..21aca37d781e6cbf24ff0ee4346290e85d64292b GIT binary patch literal 21178 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 QIK(d@$