Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to use puppet-xp Gateway with python #74

Open
suguer opened this issue Mar 5, 2022 · 22 comments
Open

how to use puppet-xp Gateway with python #74

suguer opened this issue Mar 5, 2022 · 22 comments

Comments

@suguer
Copy link

suguer commented Mar 5, 2022

I run puppet-xp Gateway successly , but when i try to connect my local gateway with python , it failed
token is successly
no docker

2022-03-03 14:51:56,037 - Wechaty - INFO - on() listen event <scan> with <<function on_scan at 0x000002B163195430>>
2022-03-03 14:51:56,037 - Wechaty - INFO - on() listen event <login> with <<function on_login at 0x000002B166203040>>
2022-03-03 14:51:56,037 - Wechaty - INFO - on() listen event <message> with <<function on_message at 0x000002B162EFDD30>>
2022-03-03 14:51:56,073 - PuppetService - WARNING - there are endpoint<127.0.0.1:8788> and token<insecure_156f31cd-8629-4a4d-a6ee-9bab5ccf3aea>, and the endpoint will be used for service ...
2022-03-03 14:51:56,073 - Wechaty - INFO - init_puppet_event_bridge() <<wechaty_puppet_service.puppet.PuppetService object at 0x000002B1663064C0>>
2022-03-03 14:51:56,073 - Wechaty - INFO - initPuppetEventBridge() puppet.on(dong) (listenerCount:1) registering...
2022-03-03 14:51:56,073 - Wechaty - INFO - initPuppetEventBridge() puppet.on(error) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(heart-beat) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(ready) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - receive <reset> event <%s>
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(reset) (listenerCount:0) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(friendship) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(login) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(logout) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(message) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(room-invite) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(room-join) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(room-leave) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(room-topic) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - initPuppetEventBridge() puppet.on(scan) (listenerCount:1) registering...
2022-03-03 14:51:56,074 - Wechaty - INFO - starting puppet ...
2022-03-03 14:51:56,074 - PuppetService - INFO - init puppet ...
2022-03-03 14:51:56,092 - PuppetService - INFO - starting the puppet ...
2022-03-03 14:51:56,104 - Wechaty - ERROR - The network is not good, the bot will try to restart after 60 seconds.
But here are some suggestions for you:
* 查看token是否可用?(过期或协议不可用)
* docker 服务是否正常启动?
* python-wechaty bot 是否正常启动?
* python-wechaty bot 是否能ping通docker服务?
* 由于版本细节问题,目前python-wechaty 支持最好的wechaty镜像为:[wechaty/wechaty:0.65](https://hub.docker.com/layers/wechaty/wechaty/0.65/images/sha256-d39b9fb5dece3a8ffa88b80a8ccfd916be14b9d0de72115732c3ee714b0d6a96?context=explore)

I suggest that you should follow the template code from: https://wechaty.readthedocs.io/zh_CN/latest/ to avoid the unnecessary bugs.
@bigbrother666sh
Copy link

set WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER=true

@suguer
Copy link
Author

suguer commented Mar 5, 2022

when i set WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_SERVER=true , npm start and run python.
gateway show something error

10:19:02 WARN PuppetServer start() TLS disabled: INSECURE!
10:19:09 INFO IoClient wechat. logged in
10:20:24 ERR PuppetServiceImpl stop() eventStreamManager is not busy?
10:20:24 WARN PuppetLoginMixin logonoff() is deprecated, use `isLoggedIn` instead:
Error
    at PuppetXp.logonoff (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/login-mixin.js:86:101)
    at PuppetXp.onStop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/dist/esm/src/puppet-xp.js:260:18)
    at PuppetXp.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/state-switch/dist/esm/src/service-ctl/service-ctl.js:108:28)
    at PuppetXp.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/service-mixin.js:25:25)
    at stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/puppet-implementation.js:1085:45)
    at Object.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/auth/auth-impl-token.js:26:28)
    at handleUnary (C:\Users\staff\AppData\Roaming\npm\node_modules\wechaty\node_modules\@grpc\grpc-js\build\src\server.js:674:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
10:20:24 INFO IoClient 苏.79. logged out
file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/event-stream-manager.js:69
        if (this.puppet.readyIndicator.value()) {
                                       ^

TypeError: Cannot read properties of undefined (reading 'value')
    at EventStreamManager.start (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/event-stream-manager.js:69:40)
    at event (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/puppet-implementation.js:287:32)
    at Object.event (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/auth/auth-impl-token.js:26:28)
    at handleServerStreaming (C:\Users\staff\AppData\Roaming\npm\node_modules\wechaty\node_modules\@grpc\grpc-js\build\src\server.js:696:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

@huan
Copy link
Member

huan commented Mar 5, 2022

What version of the wechaty are you using with the npm install ? (current the newest version is 1.13.22)

Please upgrade it by using npm install -g wechaty@next if you are not the newest version and try again.

@suguer
Copy link
Author

suguer commented Mar 5, 2022

wechaty -v 1.13.22
it is the newest version, but also failed

@suguer
Copy link
Author

suguer commented Mar 5, 2022

error is different

10:46:53 ERR PuppetServiceImpl grpcError() stop() rejection: Timeout after 15000 ms
GError: Timeout after 15000 ms
    at Function.from (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/gerror/dist/esm/src/gerror/gerror.js:80:23)
    at Timeout._onTimeout (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/gerror/dist/esm/src/timeout-promise/timeout-promise.js:19:42)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)
10:46:53 WARN ServiceCtl<PuppetServiceMixin> start() found that is stopping, waiting stable ... (max 5 seconds)
10:46:58 WARN ServiceCtl<PuppetServiceMixin> start() found that is stopping, waiting stable ... timeout
10:46:58 WARN PuppetXp onStart() this.#sidecar exists? will be replaced by a new one.
10:46:59 INFO IoClient wechat. logged in
10:49:36 ERR PuppetServiceImpl stop() eventStreamManager is not busy?
10:49:36 WARN PuppetLoginMixin logonoff() is deprecated, use `isLoggedIn` instead:
Error
    at PuppetXp.logonoff (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/login-mixin.js:86:101)
    at PuppetXp.onStop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/dist/esm/src/puppet-xp.js:260:18)
    at PuppetXp.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/state-switch/dist/esm/src/service-ctl/service-ctl.js:108:28)
    at PuppetXp.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/service-mixin.js:25:25)
    at stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/puppet-implementation.js:1085:45)
    at Object.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/auth/auth-impl-token.js:26:28)
    at handleUnary (C:\Users\staff\AppData\Roaming\npm\node_modules\wechaty\node_modules\@grpc\grpc-js\build\src\server.js:674:13)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
10:49:36 INFO IoClient wechat. logged out

@huan
Copy link
Member

huan commented Mar 5, 2022

I believe you also need the latest version of the wechaty-puppet-xp

What version do you have? 1.7.1 is the newest version, and it needs to be installed as global too:

npm install -g wechaty-puppet-xp@next

@suguer
Copy link
Author

suguer commented Mar 5, 2022

yes,i do it , wechaty and wechat-puppet-xp
Does the python code also need to be adjusted?
python
os.environ['WECHATY_PUPPET'] = "wechaty-puppet-service"
os.environ['WECHATY_PUPPET_SERVICE_ENDPOINT'] = "127.0.0.1:8788"
os.environ['WECHATY_PUPPET_SERVICE_TOKEN'] = "insecure_18fbabcd-ca2b-44da-82fc-030d1a0cb07d"
os.environ['WECHATY_PUPPET_SERVICE_NO_TLS_INSECURE_CLIENT'] = "true"

npm error

11:09:33 ERR PuppetServiceImpl stop() eventStreamManager is not busy?
11:09:33 WARN PuppetLoginMixin logonoff() is deprecated, use `isLoggedIn` instead:
Error
    at PuppetXp.logonoff (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/login-mixin.js:86:101)
    at PuppetXp.onStop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/dist/esm/src/puppet-xp.js:203:18)
    at PuppetXp.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/state-switch/dist/esm/src/service-ctl/service-ctl.js:108:28)
    at PuppetXp.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/service-mixin.js:25:25)
    at stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/puppet-implementation.js:1085:45)
    at Object.stop (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/auth/auth-impl-token.js:26:28)
    at handleUnary (C:\Users\staff\AppData\Roaming\npm\node_modules\wechaty\node_modules\@grpc\grpc-js\build\src\server.js:674:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
11:09:33 INFO IoClient 苏.79. logged out
11:09:33 INFO IoClient 苏.79. logged in
file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/event-stream-manager.js:216
                    throw new Error('eventName ' + eventName + ' unsupported!');
                          ^

Error: eventName post unsupported!
    at EventStreamManager.connectPuppetEventToStreamingCall (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/event-stream-manager.js:216:27)
    at EventStreamManager.start (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/event-stream-manager.js:41:41)
    at event (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/puppet-implementation.js:287:32)
    at Object.event (file:///C:/Users/staff/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/auth/auth-impl-token.js:26:28)
    at handleServerStreaming (C:\Users\staff\AppData\Roaming\npm\node_modules\wechaty\node_modules\@grpc\grpc-js\build\src\server.js:696:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

@suguer
Copy link
Author

suguer commented Mar 5, 2022

i found wechaty-puppet-xp@next version is 1.7.1
wechaty-puppet-xp@latest is 1.10.19
but both failed

@huan
Copy link
Member

huan commented Mar 5, 2022

Could you please post the log messages of the next version?

@suguer
Copy link
Author

suguer commented Mar 5, 2022

sorry, i don't know how to post the log messages , what should i do, I am glad to do it

@huan
Copy link
Member

huan commented Mar 5, 2022

Just like this one:

#74 (comment)

With the exactly version you are using with both wechaty and the puppet-xp

@bigbrother666sh
Copy link

you can reference here 【腾讯文档】如何在本地使用免费的wechaty-puppet-xy协议
https://docs.qq.com/doc/DQ0VJUWtSVE1Mb2JJ
hope helpful

@suguer
Copy link
Author

suguer commented Mar 5, 2022

window env
wechaty-puppet-xp 1.10.19
wechaty 1.13.22

python 3.9
wechaty 0.8.34
wechaty-grpc 0.20.19
wechat-puppet 0.4.0

@huan
Copy link
Member

huan commented Mar 5, 2022

@WukongZeming A blog post on the Wechaty website would be greatly valuable for publishing this article!

@huan
Copy link
Member

huan commented Mar 5, 2022

@suguer Have you tried the wechaty@1.11 ?

@suguer
Copy link
Author

suguer commented Mar 5, 2022

ok. i try again with a new machine

@suguer
Copy link
Author

suguer commented Mar 5, 2022

no, wechaty@1.11 is failed , i try to setup in a new machine

@bigbrother666sh
Copy link

@WukongZeming A blog post on the Wechaty website would be greatly valuable for publishing this article!

I don't know how to do that.
I've tried to find a PR entrance on the wechaty.org github page. but it asked where to merge .... i'am puzzled with that

@huan
Copy link
Member

huan commented Mar 5, 2022

Here has a docs for PR might be helpful to you: https://wechaty.js.org/docs/contributing/pulls

@suguer
Copy link
Author

suguer commented Mar 5, 2022

@WukongZeming It's a sad result , i run again in a new host
config is same
+-- wechaty-puppet-xp@1.10.19 extraneous
| -- wechaty-puppet@1.10.2 extraneous -- wechaty@1.11.42 extraneous
+-- wechaty-puppet-service@1.11.3 extraneous
| -- wechaty-puppet@1.11.17 deduped +-- wechaty-puppet-wechat4u@1.11.1 extraneous | -- wechaty-puppet@1.11.17 deduped
+-- wechaty-puppet@1.11.17 extraneous
-- wechaty-redux@1.10.2 extraneous -- wechaty-puppet@1.11.17 deduped

15:11:43 ERR PuppetServiceImpl stop() eventStreamManager is not busy?
15:11:43 WARN PuppetLoginMixin logonoff() is deprecated, use `isLoggedIn` instead:
Error
    at PuppetXp.logonoff (file:///C:/Users/Administrator/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/login-mixin.js:86:101)
    at PuppetXp.onStop (file:///C:/Users/Administrator/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/dist/esm/src/puppet-xp.js:260:18)
    at PuppetXp.stop (file:///C:/Users/Administrator/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/state-switch/dist/esm/src/service-ctl/service-ctl.js:108:28)
    at PuppetXp.stop (file:///C:/Users/Administrator/AppData/Roaming/npm/node_modules/wechaty-puppet-xp/node_modules/wechaty-puppet/dist/esm/src/mixins/service-mixin.js:25:25)
    at stop (file:///C:/Users/Administrator/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/server/puppet-implementation.js:1085:45)
    at Object.stop (file:///C:/Users/Administrator/AppData/Roaming/npm/node_modules/wechaty/node_modules/wechaty-puppet-service/dist/esm/src/auth/auth-impl-token.js:26:28)
    at handleUnary (C:\Users\Administrator\AppData\Roaming\npm\node_modules\wechaty\node_modules\@grpc\grpc-js\build\src\server.js:674:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

@bigbrother666sh
Copy link

the working config is as follow:
npm@ C:\Users\bigbr\AppData\Roaming\npm
+-- wechaty-puppet-xp@1.10.2
| -- wechaty-puppet@1.11.17 -- wechaty@1.11.42
+-- wechaty-puppet-service@1.11.3
| +-- wechaty-puppet@1.11.17 deduped
| -- wechaty-redux@1.10.2 | -- wechaty-puppet@1.11.17 deduped
+-- wechaty-puppet-wechat4u@1.11.1
| -- wechaty-puppet@1.11.17 deduped -- wechaty-puppet@1.11.17 deduped

maybe you should try npm install -upgrade wechaty@1.11.42 and npm install -upgrade wechaty-puppet-xp
hope helpful

@suguer
Copy link
Author

suguer commented Mar 8, 2022

i just tried, but it does not work for me. it so sad

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants