我已经用python完成了机器人的输入,
它可以在本地工作,但不能在服务器上工作。
有什么问题吗?
我写了正确的代码
它可以在Python Emulator上运行。
但不是在服务器上。
async def create_reply_activity_typing(request_activity: Activity, text: str, attachment: Attachment = None) -> Activity:
activity = Activity(
type=ActivityTypes.typing,
channel_id=request_activity.channel_id,
conversation=request_activity.conversation,
recipient=request_activity.from_property,
from_property=request_activity.recipient,
text=None,
service_url=request_activity.service_url)
return activity
下面是实际发送活动的代码。
async def request_handler(context: TurnContext) -> web.Response:
if context.activity.type == 'message':
prompt_message = await create_reply_activity_typing(context.activity, None)
time.sleep(5)
await context.send_activity(prompt_message)
return await handle_message(context)
发布于 2019-04-26 23:48:51
有两个版本的网络聊天你需要知道-网络聊天和机器人聊天。注意,机器人聊天是被贬低的。
关于键入事件,如果Bot Chat正在显示键入事件,则它不会等待显示下一个活动。但是,Web聊天在呈现下一个活动之前会暂停。目前,iFrame呈现机器人聊天,而仿真器使用网络聊天,这就是为什么键入事件在仿真器而不是iFrame中工作的原因。尽管iFrame目前使用机器人聊天,但在下一个版本中,将在未来几天内更新iFrame以呈现网络聊天。
您可以等待更新,也可以在发送键入活动后向代码添加超时。
prompt_message = await create_reply_activity_typing(context.activity, None)
await context.send_activity(prompt_message)
# Note the timeout needs to be after the activity is sent
time.sleep(5)
return await handle_message(context)
希望这能有所帮助!
https://stackoverflow.com/questions/55840837
复制相似问题