Lambda bot
Project description
Xavier is a bot framework. Specially built to operate on AWS Lambda.
Example
import os
import logging
import sys
from xavier.active import register_brain
from xavier.brain import Brain
from xavier.aws.func import build_lambda_router
from xavier.slack.slash import SlashCommandEvent
from xavier.http import Response, Router
from xavier.offline import BackgroundQueue
from xavier.aws.sns import publish_sns_message, handle_sns_message, handle_sns_schedule
xavier = Brain(env=env)
register_brain(xavier_bot)
background_queue = BackgroundQueue(publish_sns_message('arn:background_task'))
router = Router()
@background_queue.task()
def offline_find(slash_command):
if slash_command.text == 'Hi':
slash_command.respond({'text': "Howdy"})
else:
slash_command.respond({'text': "Hi"})
@router.add_route("/slack/commands/hello", methods=['POST'])
def handle_find(request):
slash_command = SlashCommandEvent.from_request(request)
offline_task.delay(slash_command)
return Response(204, "")
@background_queue.task(schedule=['aaa'])
def offline_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)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xavier-0.0.12.tar.gz
(8.8 kB
view details)
File details
Details for the file xavier-0.0.12.tar.gz
.
File metadata
- Download URL: xavier-0.0.12.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10d8349914ac21eb62388eed07d2756794f07b84fdfe5007f05964cf0065a3ef |
|
MD5 | 5f89bdb1649f82cbddfa28235c80475f |
|
BLAKE2b-256 | c08b13c86a96a3ff27ab24557b6fca3596c3a86654c6ff6df6949641264c904c |