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

add wechaty #244

Merged
merged 1 commit into from
Feb 20, 2023
Merged

add wechaty #244

merged 1 commit into from
Feb 20, 2023

Conversation

ZQ7
Copy link
Contributor

@ZQ7 ZQ7 commented Feb 20, 2023

No description provided.

@ZQ7
Copy link
Contributor Author

ZQ7 commented Feb 20, 2023

add python-wechaty
channel = channel_factory.create_channel("wxy")

@zhayujie
Copy link
Owner

感谢pr!

@ZQ7
Copy link
Contributor Author

ZQ7 commented Feb 21, 2023

Pad协议教程

  1. pad-local 获取PadLocal Token
  2. Python随机生成UUID:
    import uuid;
    print(uuid.uuid4());
  3. Docker容器部署Padlocal网关服务(代码在最下方,替换
    WECHATY_PUPPET_PADLOCAL_TOKEN 和 WECHATY_TOKEN为实际值)
  4. 将uuid配置在config.json(对应KEY:wechaty_puppet_service_token)
  5. 修改启动文件app.py
    channel = channel_factory.create_channel("wxy")

*备注:

  1. Install:pip3 install wechaty
  2. 配置文件 config.json 内的 wechaty_puppet_service_tokenpad-local 获取的Token,此处的token为uuid生成的,一定要将uuid生成的token和在pad-local获取到的token部署在Docker网关内!!!!
  3. 判断环境是否存在问题,可以运行一下官方示例]ding-dong-bot.py,具体中文文档
  4. 本地运行没有公网IP,需要将 os.environ['WECHATY_PUPPET_SERVICE_TOKEN'] = token 修改为 os.environ['WECHATY_PUPPET_SERVICE_ENDPOINT'] = "127.0.0.1:9001"
# 设置环境变量
export WECHATY_LOG="verbose"
export WECHATY_PUPPET="wechaty-puppet-padlocal"
# PadLocal Token
export WECHATY_PUPPET_PADLOCAL_TOKEN="puppet_padlocal_xxx"

export WECHATY_PUPPET_SERVER_PORT="9001"
# 可使用代码随机生成UUID:import uuid;print(uuid.uuid4());
export WECHATY_TOKEN="d671a197-71c9-4ca6-a673-xxxxxx"
# 由于版本细节问题,目前python-wechaty 支持最好的wechaty镜像为:[wechaty/wechaty:0.65](https://hub.docker.com/layers/wechaty/wechaty/0.65/images/sha256-d39b9fb5dece3a8ffa88b80a8ccfd916be14b9d0de72115732c3ee714b0d6a96?context=explore)
docker run -ti \
  --name wechaty_puppet_service_token_gateway \
  --rm \
  -e WECHATY_LOG \
  -e WECHATY_PUPPET \
  -e WECHATY_PUPPET_PADLOCAL_TOKEN \
  -e WECHATY_PUPPET_SERVER_PORT \
  -e WECHATY_TOKEN \
  -p "$WECHATY_PUPPET_SERVER_PORT:$WECHATY_PUPPET_SERVER_PORT" \
  wechaty/wechaty:0.65

@ZQ7
Copy link
Contributor Author

ZQ7 commented Feb 22, 2023

体验微信二维码
WechatIMG281

@tryao
Copy link

tryao commented Feb 22, 2023

可以在本地运行吗?

@tryao
Copy link

tryao commented Feb 22, 2023

可以在本地运行吗?

我执行Python3 app.py没有生成二维码

@Tianket
Copy link

Tianket commented Feb 22, 2023

按照您的方法,使用注册一周的微信小号,用pad-local刚登陆就封号了,可能是我微信注册时间短的问题,给大家避个雷

@ZQ7
Copy link
Contributor Author

ZQ7 commented Feb 23, 2023

按照您的方法,使用注册一周的微信小号,用pad-local刚登陆就封号了,可能是我微信注册时间短的问题,给大家避个雷

肯定都有风险,付费的相对好一点

@ZQ7
Copy link
Contributor Author

ZQ7 commented Feb 23, 2023

可以在本地运行吗?

我执行Python3 app.py没有生成二维码

可以本地,执行有报错吗

@zzh2524338
Copy link

本地运行Wechaty - ERROR - The network is not good, the bot will try to restart after 60 seconds.

@Foristkirito
Copy link

image

抱着个错啥原因?

@HiJackXD
Copy link

HiJackXD commented Mar 2, 2023

我用的WSL启动的docker,微信也登录成功了,pad-loca上也显示token在线。
但是https://api.chatie.io/v0/hosties/puppet_padlocal_xxxx 显示都是0,导致py启动报错

2023-03-02 14:57:41,244 - PuppetService - INFO - fetching endpoint from chatie-server: https://api.chatie.io/v0/hosties/puppet_padlocal_******
Traceback (most recent call last):
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty\wechaty.py", line 445, in start
    await self.puppet.start()
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 911, in start
    self._init_puppet()
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 876, in _init_puppet
    raise WechatyPuppetGrpcError(
wechaty_puppet.exceptions.WechatyPuppetGrpcError: WechatyPuppetGrpcError('can"t fetch endpoint from chatie server. You can try it later, or make sure that your pc can connect to heroku server ', None, None)


解决了 得公网ip

@lipc2
Copy link

lipc2 commented Mar 3, 2023

Docker容器部署Padlocal网关服务,这块有具体的操作步骤吗?辛苦老哥捞一下

@emmmnaadada
Copy link

我用的WSL启动的docker,微信也登录成功了,pad-loca上也显示token在线。 但是是https://api.chatie.io/v0/hosties/puppet_padlocal_xxxx显示都是0,导致py启动报错

2023-03-02 14:57:41,244 - PuppetService - INFO - fetching endpoint from chatie-server: https://api.chatie.io/v0/hosties/puppet_padlocal_******
Traceback (most recent call last):
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty\wechaty.py", line 445, in start
    await self.puppet.start()
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 911, in start
    self._init_puppet()
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 876, in _init_puppet
    raise WechatyPuppetGrpcError(
wechaty_puppet.exceptions.WechatyPuppetGrpcError: WechatyPuppetGrpcError('can"t fetch endpoint from chatie server. You can try it later, or make sure that your pc can connect to heroku server ', None, None)

解决了得公网ip

同样的问题怎么解决的

@wantiedaishu
Copy link

我用的WSL启动的docker,微信也登录成功了,pad-loca上也显示token在线。 但是https://api.chatie.io/v0/hosties/puppet_padlocal_xxxx 显示都是0,导致py启动报错

2023-03-02 14:57:41,244 - PuppetService - INFO - fetching endpoint from chatie-server: https://api.chatie.io/v0/hosties/puppet_padlocal_******
Traceback (most recent call last):
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty\wechaty.py", line 445, in start
    await self.puppet.start()
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 911, in start
    self._init_puppet()
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 876, in _init_puppet
    raise WechatyPuppetGrpcError(
wechaty_puppet.exceptions.WechatyPuppetGrpcError: WechatyPuppetGrpcError('can"t fetch endpoint from chatie server. You can try it later, or make sure that your pc can connect to heroku server ', None, None)

解决了 得公网ip

我也遇到这个问题

@exp224
Copy link

exp224 commented Mar 7, 2023

用padlocal的token,报错啊:
nohup: ignoring input and appending output to ‘nohup.out’
Traceback (most recent call last):
File "/root/chatgpt-on-wechat-1.0.4/app.py", line 4, in
from channel import channel_factory
File "/root/chatgpt-on-wechat-1.0.4/channel/channel_factory.py", line 13
return WechatyChannel()
TabError: inconsistent use of tabs and spaces in indentation
Traceback (most recent call last):
File "/root/chatgpt-on-wechat-1.0.4/app.py", line 4, in
from channel import channel_factory
File "/root/chatgpt-on-wechat-1.0.4/channel/channel_factory.py", line 13
return WechatyChannel()
TabError: inconsistent use of tabs and spaces in indentation

@exp224
Copy link

exp224 commented Mar 7, 2023

按照您的方法,使用注册一周的微信小号,用pad-local刚登陆就封号了,可能是我微信注册时间短的问题,给大家避个雷

token填写在哪儿啊,没看到啊,填写个 登录报错了

@exp224
Copy link

exp224 commented Mar 7, 2023

[ERROR][2023-03-07 21:35:25][app.py:19] - App startup failed!
[ERROR][2023-03-07 21:35:25][app.py:20] - Expecting value: line 7 column 50 (char 256)
Traceback (most recent call last):
File "/root/home/chatgpt-on-wechat-1.0.4/app.py", line 11, in
config.load_config()
File "/root/home/chatgpt-on-wechat-1.0.4/config.py", line 18, in load_config
config = json.loads(config_str)
File "/home/anaconda3/lib/python3.9/json/init.py", line 346, in loads
return _default_decoder.decode(s)
File "/home/anaconda3/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/home/anaconda3/lib/python3.9/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 7 column 50 (char 256)

怎么这个错误啊。登录不了啊 wechaty的

Refer

[ERROR][2023-03-07 21:35:25][app.py:19] - App startup failed!
[ERROR][2023-03-07 21:35:25][app.py:20] - Expecting value: line 7 column 50 (char 256)
Traceback (most recent call last):
File "/root/home/chatgpt-on-wechat-1.0.4/app.py", line 11, in
config.load_config()
File "/root/home/chatgpt-on-wechat-1.0.4/config.py", line 18, in load_config
config = json.loads(config_str)
File "/home/anaconda3/lib/python3.9/json/init.py", line 346, in loads
return _default_decoder.decode(s)
File "/home/anaconda3/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/home/anaconda3/lib/python3.9/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 7 column 50 (char 256)

怎么这个错误啊。登录不了啊 wechaty的

@bravedigger
Copy link

image

抱着个错啥原因?

我也遇到同样问题;
image
运行环境:Ubuntu 20 + Python 3.10.6

@ZQ7
Copy link
Contributor Author

ZQ7 commented Mar 8, 2023

我用的WSL启动的docker,微信也登录成功了,pad-loca上也显示token在线。 但是https://api.chatie.io/v0/hosties/puppet_padlocal_xxxx 显示都是0,导致py启动报错

2023-03-02 14:57:41,244 - PuppetService - INFO - fetching endpoint from chatie-server: https://api.chatie.io/v0/hosties/puppet_padlocal_******
Traceback (most recent call last):
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty\wechaty.py", line 445, in start
    await self.puppet.start()
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 911, in start
    self._init_puppet()
  File "C:\Users\yangz\AppData\Local\Programs\Python\Python310\lib\site-packages\wechaty_puppet_service\puppet.py", line 876, in _init_puppet
    raise WechatyPuppetGrpcError(
wechaty_puppet.exceptions.WechatyPuppetGrpcError: WechatyPuppetGrpcError('can"t fetch endpoint from chatie server. You can try it later, or make sure that your pc can connect to heroku server ', None, None)

解决了 得公网ip

我也遇到这个问题

本地运行没有公网IP,需要将 os.environ['WECHATY_PUPPET_SERVICE_TOKEN'] = token 修改为 os.environ['WECHATY_PUPPET_SERVICE_ENDPOINT'] = "127.0.0.1:9001"

@ZQ7
Copy link
Contributor Author

ZQ7 commented Mar 8, 2023

2. 配置文件 config.json 内的 wechaty_puppet_service_tokenpad-local 获取的Token,此处的token为uuid生成的,一定要将uuid生成的token和在pad-local获取到的token部署在Docker网关内!!!!

配置文件 config.json 内的 wechaty_puppet_service_token 非pad-local 获取的Token,此处的token为uuid生成的,一定要将uuid生成的token和在pad-local获取到的token部署在Docker网关内!!!!

@chzzfly
Copy link

chzzfly commented Mar 10, 2023

费用:1个月200,一年5折1200

@austincityu
Copy link

image 抱着个错啥原因?

我也遇到同样问题; image 运行环境:Ubuntu 20 + Python 3.10.6

我也是这个错误 请问你们解决了吗

我的环境是Ubuntu 20.04 + Python 3.8.6,也报这个错了。'WechatyChannel' object has no attribute 'Contact' 解决了吗?

@Bachery
Copy link
Contributor

Bachery commented Mar 15, 2023

同样报这个错,解决了么?在docker里跑wechaty没问题。

image os.environ['WECHATY_PUPPET_SERVICE_TOKEN'] = token 修改为 os.environ['WECHATY_PUPPET_SERVICE_ENDPOINT'] = "127.0.0.1:9001" 本地运行报这个错

解决了么,我也出现这个报错

我也遇到了这个报错

@aardwolf109
Copy link

image os.environ['WECHATY_PUPPET_SERVICE_TOKEN'] = token 修改为 os.environ['WECHATY_PUPPET_SERVICE_ENDPOINT'] = "127.0.0.1:9001" 本地运行报这个错

[WECHATY_PUPPET_SERVICE_TOKEN]仍然保留,就可以了
image

@nagaki09
Copy link

用wechaty,微信还是通过扫码登录服务端么?微信把我小号的扫码登录封了,能使用token么

@zwssunny
Copy link
Contributor

我把wechaty 容器布置在公网上,在本地执行chagpt-on-wechat不显示二维码;用ding-dong-bot测试,二维码更新太快,来不及扫描,什么原因?

@yhfgyyf
Copy link

yhfgyyf commented Mar 21, 2023

我把wechaty 容器布置在公网上,在本地执行chagpt-on-wechat不显示二维码;用ding-dong-bot测试,二维码更新太快,来不及扫描,什么原因?
如果使用的是padlocal协议,wechaty容器部署在公网后,
https://api.chatie.io/v0/hosties/puppet_padlocal_*** 这个会显示公网ip,
wechaty日志里会有你微信记录,
http://pad-local.com/#/login会显示你的微信已经登录。
手机微信上会显示已经登录ipad设备。

如果wechaty日志里有url,需要用微信扫码登录。

@zwssunny
Copy link
Contributor

zwssunny commented Mar 21, 2023 via email

@austincityuwen
Copy link

Pad协议教程

  1. pad-local 获取PadLocal Token
  2. Python随机生成UUID:
    import uuid;
    print(uuid.uuid4());
  3. Docker容器部署Padlocal网关服务(代码在最下方,替换
    WECHATY_PUPPET_PADLOCAL_TOKEN 和 WECHATY_TOKEN为实际值)
  4. 将uuid配置在config.json(对应KEY:wechaty_puppet_service_token)
  5. 修改启动文件app.py
    channel = channel_factory.create_channel("wxy")

*备注:

  1. Install:pip3 install wechaty
  2. 配置文件 config.json 内的 wechaty_puppet_service_tokenpad-local 获取的Token,此处的token为uuid生成的,一定要将uuid生成的token和在pad-local获取到的token部署在Docker网关内!!!!
  3. 判断环境是否存在问题,可以运行一下官方示例]ding-dong-bot.py,具体中文文档
  4. 本地运行没有公网IP,需要将 os.environ['WECHATY_PUPPET_SERVICE_TOKEN'] = token 修改为 os.environ['WECHATY_PUPPET_SERVICE_ENDPOINT'] = "127.0.0.1:9001"
# 设置环境变量
export WECHATY_LOG="verbose"
export WECHATY_PUPPET="wechaty-puppet-padlocal"
# PadLocal Token
export WECHATY_PUPPET_PADLOCAL_TOKEN="puppet_padlocal_xxx"

export WECHATY_PUPPET_SERVER_PORT="9001"
# 可使用代码随机生成UUID:import uuid;print(uuid.uuid4());
export WECHATY_TOKEN="d671a197-71c9-4ca6-a673-xxxxxx"
# 由于版本细节问题,目前python-wechaty 支持最好的wechaty镜像为:[wechaty/wechaty:0.65](https://hub.docker.com/layers/wechaty/wechaty/0.65/images/sha256-d39b9fb5dece3a8ffa88b80a8ccfd916be14b9d0de72115732c3ee714b0d6a96?context=explore)
docker run -ti \
  --name wechaty_puppet_service_token_gateway \
  --rm \
  -e WECHATY_LOG \
  -e WECHATY_PUPPET \
  -e WECHATY_PUPPET_PADLOCAL_TOKEN \
  -e WECHATY_PUPPET_SERVER_PORT \
  -e WECHATY_TOKEN \
  -p "$WECHATY_PUPPET_SERVER_PORT:$WECHATY_PUPPET_SERVER_PORT" \
  wechaty/wechaty:0.65

如何在windows中连接padlocal的gateway,请大神出一期教程

@kadaliao
Copy link

用wechaty,微信还是通过扫码登录服务端么?微信把我小号的扫码登录封了,能使用token么

用 token 2 天也被封了。

@emmmnaadada
Copy link

用token 7天未封号

@kadaliao
Copy link

用token 7天未封号

有在微信群里密集发言吗?感觉这个操作比较危险。

@lsCoding666
Copy link

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

@lsCoding666
Copy link

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

arm的服务器不支持

@lsCoding666
Copy link

arm的用wechaty 1.11版本就行

@RolloTomasiii
Copy link

你好,我遇到了很难缠的问题,它导致bot不定时无响应,过一会儿又自动恢复
07:45:23 ERR [PadLocalClient] error while syncing onpush: VError: [tid:187eccbc] request has been cancelled for reason: CLIENT_ERROR: [tid:187eccbc] Exception while handling wechat request: long link send request timeout
at Request._failAllPendingRequest (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:334:15)
at Request.error (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:347:10)
at Request. (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:221:16)
at Generator.throw ()
at rejected (/wechaty/node_modules/padlocal-client-ts/dist/Request.js:6:65)
在翻看PadLocal项目时发现作者对如上问题给了如下解答
Longlink host fail over has been added in wechaty-puppet-padlocal@1.11.14.
Please have a try and feedback is wecome.
所以想请问一下您的docker镜像里的wechaty-puppet-padlocal版本是什么,应该如何避免这个问题

@lsCoding666
Copy link

你好,我遇到了很难缠的问题,它导致bot不定时无响应,过一会儿又自动恢复 07:45:23 ERR [PadLocalClient] error while syncing onpush: VError: [tid:187eccbc] request has been cancelled for reason: CLIENT_ERROR: [tid:187eccbc] Exception while handling wechat request: long link send request timeout at Request._failAllPendingRequest (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:334:15) at Request.error (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:347:10) at Request. (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:221:16) at Generator.throw () at rejected (/wechaty/node_modules/padlocal-client-ts/dist/Request.js:6:65) 在翻看PadLocal项目时发现作者对如上问题给了如下解答 Longlink host fail over has been added in wechaty-puppet-padlocal@1.11.14. Please have a try and feedback is wecome. 所以想请问一下您的docker镜像里的wechaty-puppet-padlocal版本是什么,应该如何避免这个问题

0.65啊 而且只支持这个版本。我觉得你可能得从解决网络不好的角度考虑了,服务器是不是在国外?

@RolloTomasiii
Copy link

你好,我遇到了很难缠的问题,它导致bot不定时无响应,过一会儿又自动恢复 07:45:23 ERR [PadLocalClient] error while syncing onpush: VError: [tid:187eccbc] request has been cancelled for reason: CLIENT_ERROR: [tid:187eccbc] Exception while handling wechat request: long link send request timeout at Request._failAllPendingRequest (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:334:15) at Request.error (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:347:10) at Request. (/wechaty/node_modules/padlocal-client-ts/src/Request.ts:221:16) at Generator.throw () at rejected (/wechaty/node_modules/padlocal-client-ts/dist/Request.js:6:65) 在翻看PadLocal项目时发现作者对如上问题给了如下解答 Longlink host fail over has been added in wechaty-puppet-padlocal@1.11.14. Please have a try and feedback is wecome. 所以想请问一下您的docker镜像里的wechaty-puppet-padlocal版本是什么,应该如何避免这个问题

0.65啊 而且只支持这个版本。我觉得你可能得从解决网络不好的角度考虑了,服务器是不是在国外?

服务器在新加坡,因为chatgpt-on-wechat 适合架在境外,有没有什么好的建议,大佬

@lsCoding666
Copy link

issue里面有墙内部署的教程 就用自家windows电脑跑就行了,简单来说就是cloudflare workers反代或者是用腾讯云函数之类的反代

@RolloTomasiii
Copy link

issue里面有墙内部署的教程 就用自家windows电脑跑就行了,简单来说就是cloudflare workers反代或者是用腾讯云函数之类的反代

加个微信私聊,大佬,AIYLWL

@RolloTomasiii
Copy link

issue里面有墙内部署的教程 就用自家windows电脑跑就行了,简单来说就是cloudflare workers反代或者是用腾讯云函数之类的反代

你是在国内部署的吗?没有遇到这个问题吗

@JinLiGame
Copy link

wechaty的免费web协议有人用过吗?封号的几率怎样?怎么使用web协议?

@zwssunny
Copy link
Contributor

zwssunny commented May 22, 2023 via email

@yhfgyyf
Copy link

yhfgyyf commented May 22, 2023

wechaty的免费web协议有人用过吗?封号的几率怎样?怎么使用web协议?

我用过wechaty,好像还蛮稳定,7天免费,超过7天收费,还蛮贵的,有这钱不如上微信公众号,云服务器费用算上都没这个贵

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

Successfully merging this pull request may close these issues.

None yet