拉姆达机器人
xavier的Python项目详细描述
泽维尔是一个机器人框架。专为AWS Lambda操作而设计。
示例
importosimportloggingimportsysfromxavier.activeimportregister_brainfromxavier.brainimportBrainfromxavier.aws.funcimportbuild_lambda_routerfromxavier.slack.slashimportSlashCommandEventfromxavier.httpimportResponse,Routerfromxavier.offlineimportBackgroundQueuefromxavier.aws.snsimportpublish_sns_message,handle_sns_message,handle_sns_schedulexavier=Brain(env=env)register_brain(xavier_bot)background_queue=BackgroundQueue(publish_sns_message('arn:background_task'))router=Router()@background_queue.task()defoffline_find(slash_command):ifslash_command.text=='Hi':slash_command.respond({'text':"Howdy"})else:slash_command.respond({'text':"Hi"})@router.add_route("/slack/commands/hello",methods=['POST'])defhandle_find(request):slash_command=SlashCommandEvent.from_request(request)offline_task.delay(slash_command)returnResponse(204,"")@background_queue.task(schedule=['aaa'])defoffline_cron(slash_command):...lambda_schedule_hander=handle_sns_schedule(background_queue.process_schedule)lambda_sns_handler=handle_sns_messages(background_queue.process_event)lambda_http_handler=build_lambda_router(router)