- wechaty:
- wechaty-puppet:
- wechaty-puppet-service:
- wechaty-plugin-contrib:
- token type: padlocal|wxwork|xp
- the version of wechaty docker container: [0.65]
Description
python3 -m pip install wechaty
irony@ironydeMBP moss % python3 -m pip install wechaty
Defaulting to user installation because normal site-packages is not writeable
Collecting wechaty
Using cached wechaty-0.10.7-py3-none-any.whl (1.6 MB)
Requirement already satisfied: pyee in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (9.0.4)
Requirement already satisfied: requests in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (2.28.2)
Requirement already satisfied: qrcode in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from wechaty) (7.4.2)
Requirement already satisfied: lxml in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (4.9.2)
Requirement already satisfied: wechaty-puppet>=0.4.19 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (0.4.23)
Requirement already satisfied: wechaty-puppet-service>=0.8.9 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (0.8.10)
Requirement already satisfied: quart in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from wechaty) (0.17.0)
Requirement already satisfied: opengraph-py3 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (0.71)
Collecting Quart-CORS (from wechaty)
Using cached quart_cors-0.6.0-py3-none-any.whl (8.2 kB)
Requirement already satisfied: APScheduler in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (3.10.1)
Requirement already satisfied: SQLAlchemy in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (2.0.10)
Requirement already satisfied: PyGithub in /Users/irony/.local/lib/python3.9/site-packages (from wechaty) (1.58.1)
Requirement already satisfied: wechaty-grpc~=0.20.19 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty-puppet-service>=0.8.9->wechaty) (0.20.19)
Requirement already satisfied: ping3 in /Users/irony/.local/lib/python3.9/site-packages (from wechaty-puppet-service>=0.8.9->wechaty) (4.0.4)
Requirement already satisfied: setuptools>=0.7 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from APScheduler->wechaty) (57.4.0)
Requirement already satisfied: six>=1.4.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from APScheduler->wechaty) (1.16.0)
Requirement already satisfied: pytz in /Users/irony/.local/lib/python3.9/site-packages (from APScheduler->wechaty) (2023.3)
Requirement already satisfied: tzlocal!=3.*,>=2.0 in /Users/irony/.local/lib/python3.9/site-packages (from APScheduler->wechaty) (4.3)
Requirement already satisfied: beautifulsoup4 in /Users/irony/.local/lib/python3.9/site-packages (from opengraph-py3->wechaty) (4.12.2)
Requirement already satisfied: typing-extensions in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from pyee->wechaty) (4.5.0)
Requirement already satisfied: deprecated in /Users/irony/.local/lib/python3.9/site-packages (from PyGithub->wechaty) (1.2.13)
Requirement already satisfied: pyjwt[crypto]>=2.4.0 in /Users/irony/.local/lib/python3.9/site-packages (from PyGithub->wechaty) (2.6.0)
Requirement already satisfied: pynacl>=1.4.0 in /Users/irony/.local/lib/python3.9/site-packages (from PyGithub->wechaty) (1.5.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/irony/.local/lib/python3.9/site-packages (from requests->wechaty) (3.1.0)
Requirement already satisfied: idna<4,>=2.5 in /Users/irony/.local/lib/python3.9/site-packages (from requests->wechaty) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /Users/irony/.local/lib/python3.9/site-packages (from requests->wechaty) (1.26.15)
Requirement already satisfied: certifi>=2017.4.17 in /Users/irony/.local/lib/python3.9/site-packages (from requests->wechaty) (2022.12.7)
Requirement already satisfied: pypng in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from qrcode->wechaty) (0.20220715.0)
Requirement already satisfied: aiofiles in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from quart->wechaty) (23.1.0)
Requirement already satisfied: blinker in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from quart->wechaty) (1.5)
Requirement already satisfied: click in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (8.1.3)
Requirement already satisfied: hypercorn>=0.11.2 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from quart->wechaty) (0.14.3)
Requirement already satisfied: itsdangerous in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (2.1.2)
Requirement already satisfied: jinja2 in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (3.1.2)
Requirement already satisfied: markupsafe in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (2.1.2)
Requirement already satisfied: toml in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from quart->wechaty) (0.10.2)
Requirement already satisfied: werkzeug>=2.0.0 in /Users/irony/.local/lib/python3.9/site-packages (from quart->wechaty) (2.2.3)
Requirement already satisfied: h11 in /Users/irony/.local/lib/python3.9/site-packages (from hypercorn>=0.11.2->quart->wechaty) (0.14.0)
Requirement already satisfied: h2>=3.1.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from hypercorn>=0.11.2->quart->wechaty) (4.1.0)
Requirement already satisfied: priority in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from hypercorn>=0.11.2->quart->wechaty) (2.0.0)
Requirement already satisfied: wsproto>=0.14.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from hypercorn>=0.11.2->quart->wechaty) (1.2.0)
Requirement already satisfied: cryptography>=3.4.0 in /Users/irony/.local/lib/python3.9/site-packages (from pyjwt[crypto]>=2.4.0->PyGithub->wechaty) (40.0.2)
Requirement already satisfied: cffi>=1.4.1 in /Users/irony/.local/lib/python3.9/site-packages (from pynacl>=1.4.0->PyGithub->wechaty) (1.15.1)
Requirement already satisfied: pytz-deprecation-shim in /Users/irony/.local/lib/python3.9/site-packages (from tzlocal!=3.*,>=2.0->APScheduler->wechaty) (0.1.0.post0)
Requirement already satisfied: betterproto in /Users/irony/.local/lib/python3.9/site-packages (from wechaty-grpc~=0.20.19->wechaty-puppet-service>=0.8.9->wechaty) (1.2.5)
Requirement already satisfied: grpclib in /Users/irony/.local/lib/python3.9/site-packages (from wechaty-grpc~=0.20.19->wechaty-puppet-service>=0.8.9->wechaty) (0.4.3)
Requirement already satisfied: soupsieve>1.2 in /Users/irony/.local/lib/python3.9/site-packages (from beautifulsoup4->opengraph-py3->wechaty) (2.4.1)
Requirement already satisfied: wrapt<2,>=1.10 in /Users/irony/.local/lib/python3.9/site-packages (from deprecated->PyGithub->wechaty) (1.15.0)
Requirement already satisfied: pycparser in /Users/irony/.local/lib/python3.9/site-packages (from cffi>=1.4.1->pynacl>=1.4.0->PyGithub->wechaty) (2.21)
Requirement already satisfied: hyperframe<7,>=6.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from h2>=3.1.0->hypercorn>=0.11.2->quart->wechaty) (6.0.1)
Requirement already satisfied: hpack<5,>=4.0 in /Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages (from h2>=3.1.0->hypercorn>=0.11.2->quart->wechaty) (4.0.0)
Requirement already satisfied: stringcase in /Users/irony/.local/lib/python3.9/site-packages (from betterproto->wechaty-grpc~=0.20.19->wechaty-puppet-service>=0.8.9->wechaty) (1.2.0)
Requirement already satisfied: multidict in /Users/irony/.local/lib/python3.9/site-packages (from grpclib->wechaty-grpc~=0.20.19->wechaty-puppet-service>=0.8.9->wechaty) (6.0.4)
Requirement already satisfied: tzdata in /Users/irony/.local/lib/python3.9/site-packages (from pytz-deprecation-shim->tzlocal!=3.*,>=2.0->APScheduler->wechaty) (2023.3)
Installing collected packages: Quart-CORS, wechaty
Successfully installed Quart-CORS-0.6.0 wechaty-0.10.7
运行Python脚本报错
Python脚本:
import asyncio
from typing import Union
from wechaty import Wechaty, Message, Room, Contact
from wechaty_puppet import FileBox
class MyBot(Wechaty):
async def on_message(self, msg: Message):
from_contact = msg.talker()
text = msg.text()
room = msg.room()
if text == 'ding':
conversation: Union[
Room, Contact] = from_contact if room is None else room
await conversation.ready()
await conversation.say('dong')
file_box = FileBox.from_url(
'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/'
'u=1116676390,2305043183&fm=26&gp=0.jpg',
name='ding-dong.jpg')
await conversation.say(file_box)
asyncio.run(MyBot().start())
报错日志:
Minimum reproducible code
/Users/irony/.pyenv/shims/python /Users/irony/pythonProjects/moss/client/wechat/my_bot.py
Traceback (most recent call last):
File "/Users/irony/pythonProjects/moss/client/wechat/my_bot.py", line 4, in
from wechaty import Wechaty, Message, Room, Contact
File "/Users/irony/.local/lib/python3.9/site-packages/wechaty/init.py", line 49, in
from .plugin import (
File "/Users/irony/.local/lib/python3.9/site-packages/wechaty/plugin.py", line 55, in
from quart_cors import cors
File "/Users/irony/.local/lib/python3.9/site-packages/quart_cors/init.py", line 16, in
from quart.typing import RouteCallable, WebsocketCallable
ImportError: cannot import name 'RouteCallable' from 'quart.typing' (/Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages/quart/typing.py)
Environment
Description
Minimum reproducible code
/Users/irony/.pyenv/shims/python /Users/irony/pythonProjects/moss/client/wechat/my_bot.py Traceback (most recent call last): File "/Users/irony/pythonProjects/moss/client/wechat/my_bot.py", line 4, in
from wechaty import Wechaty, Message, Room, Contact
File "/Users/irony/.local/lib/python3.9/site-packages/wechaty/init.py", line 49, in
from .plugin import (
File "/Users/irony/.local/lib/python3.9/site-packages/wechaty/plugin.py", line 55, in
from quart_cors import cors
File "/Users/irony/.local/lib/python3.9/site-packages/quart_cors/init.py", line 16, in
from quart.typing import RouteCallable, WebsocketCallable
ImportError: cannot import name 'RouteCallable' from 'quart.typing' (/Users/irony/.pyenv/versions/3.9.7/lib/python3.9/site-packages/quart/typing.py)