os.environ[‘WECHATY_PUPPET’] = “wechaty-puppet-service”
os.environ[‘WECHATY_PUPPET_SERVICE_TOKEN’] = “puppet_paimon_f3dabb5216d8826c681de77f85f18c07”
这个token配置好后可以本地直接运行

os.environ[‘WECHATY_PUPPET’] = “wechaty-puppet-service”
os.environ[‘WECHATY_PUPPET_SERVICE_TOKEN’] = “puppet_padlocal_xx”
这个token配置好后,需要在云端进行docker部署后,本地才能运行成功
申请百度云或者阿里云、腾讯云、华为云的免费服务器一步一步执行以下命令,部署成功后,ctrl+p+q 退出容器但不关闭

$ apt update

$ apt install docker.io

$ docker pull wechaty/wechaty:latest

$ export WECHATY_LOG="verbose"

$ export WECHATY_PUPPET="wechaty-puppet-wechat"

$ export WECHATY_PUPPET_SERVER_PORT="8080"

$ export WECHATY_TOKEN="puppet_padlocal_xx" # 这里输入你自己的token

$ docker run -ti --name wechaty_puppet_service_token_gateway --rm -e WECHATY_LOG -e WECHATY_PUPPET -e WECHATY_TOKEN -e WECHATY_PUPPET_SERVER_PORT -p "$WECHATY_PUPPET_SERVER_PORT:$WECHATY_PUPPET_SERVER_PORT" wechaty/wechaty:latest
# -*- coding: utf-8 -*-
import os
import asyncio
from wechaty import (
    Contact,
    FileBox,
    Message,
    Wechaty,
    ScanStatus,
)
from wechaty_puppet import MessageType
from collections import deque
# Initialize a PaddleHub plato-mini model
import paddlehub as hub


# 之前自己申请账号OK版本
os.environ['WECHATY_PUPPET'] = "wechaty-puppet-service"
# 这里填Wechaty token
os.environ['WECHATY_PUPPET_SERVICE_TOKEN'] = "puppet_paimon_f3dabb5216d8826c681de77f85f18c07"


model = hub.Module(name='plato-mini', version='1.0.0')
model._interactive_mode = True
model.max_turn = 10
model.context = deque(maxlen=model.max_turn)


async def on_message(msg: Message):
    """
    Message Handler for the Bot
    """
    # PaddleHub chatbot
    if isinstance(msg.text(), str) and len(msg.text()) > 0 \
            and msg._payload.type == MessageType.MESSAGE_TYPE_TEXT:
        # Use a special token '[Test]' to select messages to respond.
        bot_response = model.predict(data=msg.text().replace('[Test]', ''))[0]
        # Return the text generated by PaddleHub chatbot
        await msg.say(bot_response)
    ###


async def on_scan(
        qrcode: str,
        status: ScanStatus,
        _data,
):
    """
    Scan Handler for the Bot
    """
    print('Status: ' + str(status))
    print('View QR Code Online: https://wechaty.js.org/qrcode/' + qrcode)


async def on_login(user: Contact):
    """
    Login Handler for the Bot
    """
    print(user)
    # TODO: To be written


async def main():
    """
    Async Main Entry
    """
    #
    # Make sure we have set WECHATY_PUPPET_SERVICE_TOKEN in the environment variables.
    #
    if 'WECHATY_PUPPET_SERVICE_TOKEN' not in os.environ:
        print('''
            Error: WECHATY_PUPPET_SERVICE_TOKEN is not found in the environment variables
            You need a TOKEN to run the Python Wechaty. Please goto our README for details
            https://github.com/wechaty/python-wechaty-getting-started/#wechaty_puppet_service_token
        ''')

    bot = Wechaty()

    bot.on('scan', on_scan)
    bot.on('login', on_login)
    bot.on('message', on_message)

    await bot.start()


asyncio.run(main())


"""
# export WECHATY_PUPPET=wechaty-puppet-service
# WECHATY_PUPPET_SERVICE_TOKEN=puppet_paimon_f3dabb5216d8826c681de77f85f18c07

# export WECHATY_PUPPET=wechaty-puppet-service
# export
# WECHATY_PUPPET_SERVICE_TOKEN=puppet_padlocal_027a8892518645d1861dbb5b8948eff4
"""

添加链接描述
添加链接描述

Logo

一站式 AI 云服务平台

更多推荐