offu/WeRoBot

部署在阿里云 centos 7.3 时遇到这样的情况

1193700079 opened this issue · 1 comments

Traceback (most recent call last):
File "wr.py", line 13, in
robot = werobot.WeRoBot(token="itcast")
AttributeError: 'module' object has no attribute 'WeRoBot'

这是代码

-- coding:UTF-8 --

导入werobot和发送请求的requests

import werobot
import requests

主要逻辑服务请求地址

url = "http://114.55.209.11"

服务超时时间

TIMEOUT = 3

声明微信访问请求【框架将辅助完成微信联通验证】

robot = werobot.WeRoBot(token="itcast")

设置所有请求(包含文本、语音、图片等消息)入口

@robot.handler
def doctor(message, session):
try:
# 获得用户uid
uid = message.source
try:
# 检查session,判断该用户是否第一次发言
# 初始session为{}
# 如果session中没有{uid:"1"}
if session.get(uid, None) != "1":
# 将添加{uid:"1"}
session[uid] = "1"
# 并返回打招呼用语
return '您好, 我是智能客服小艾, 有什么需要帮忙的吗?'
# 获取message中的用户发言内容
text = message.content
except:
# 这里使用try...except是因为我用户很可能出现取消关注又重新关注的现象
# 此时通过session判断,该用户并不是第一次发言,会获取message.content
# 但用户其实又没有说话, 获取message.content时会报错
# 该情况也是直接返回打招呼用语
return '您好, 我是智能客服小艾, 有什么需要帮忙的吗 ?'
# 获得发送主要逻辑服务的数据体
data = {"uid": uid, "text": text}
# 向主要逻辑服务发送post请求
res = requests.post(url, data=data, timeout=TIMEOUT)
# 返回主要逻辑服务的结果
return res.text
except Exception as e:
print("出现异常:", e)
return "对不起, 机器人客服正在休息..."

让服务器监听在 0.0.0.0:80

robot.config["HOST"] = "0.0.0.0"
robot.config["PORT"] = 80
robot.run()

Issue tracker 只用于反馈 bug 和 feature request。在提问前请仔细阅读我们的文档,并推荐阅读《提问的智慧》:https://github.com/ruby-china/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md