permabots.views.hooks package

Submodules

permabots.views.hooks.kik_hook module

class permabots.views.hooks.kik_hook.KikHookView(**kwargs)[source]

Bases: rest_framework.views.APIView

View for Kik webhook.

accepted_types(serializer)[source]
create_message(serializer, bot)[source]
create_user(username)[source]
post(request, hook_id)[source]
Process Kik webhook:
  1. Get an enabled Kik bot
  2. Verify Kik signature
  3. Serialize each message
  4. For each message create KikMessage and KikUser
  5. Delay each message processing to a task
  6. Response provider
exception permabots.views.hooks.kik_hook.OnlyTextMessages[source]

Bases: exceptions.Exception

permabots.views.hooks.messenger_hook module

class permabots.views.hooks.messenger_hook.MessengerEntry(page_id, time=None, messaging=None)[source]

Bases: permabots.views.hooks.messenger_hook.Resource

classmethod from_json(json)[source]
classmethod property_mapping()[source]
to_json()[source]
class permabots.views.hooks.messenger_hook.MessengerHookView(**kwargs)[source]

Bases: rest_framework.views.APIView

View for Facebook Messenger webhook

create_message(webhook_message, bot)[source]
get(request, hook_id)[source]

Verify token when configuring webhook from facebook dev.

MessengerBot.id is used for verification

post(request, hook_id)[source]
Process Messenger webhook.
1. Get an enabled Messenger bot 3. For each message serialize 4. For each message create MessengerMessage 5. Delay processing of each message to a task 6. Response provider
class permabots.views.hooks.messenger_hook.MessengerMessaging(sender=None, recipient=None, timestamp=None, type=None, message=None)[source]

Bases: permabots.views.hooks.messenger_hook.Resource

classmethod from_json(json)[source]
is_delivery
is_message
is_postback
classmethod property_mapping()[source]
to_json()[source]
class permabots.views.hooks.messenger_hook.MessengerPostbackMessage(payload)[source]

Bases: permabots.views.hooks.messenger_hook.Resource

classmethod property_mapping()[source]
class permabots.views.hooks.messenger_hook.MessengerTextMessage(mid, seq, text)[source]

Bases: permabots.views.hooks.messenger_hook.Resource

classmethod property_mapping()[source]
exception permabots.views.hooks.messenger_hook.OnlyTextMessages[source]

Bases: exceptions.Exception

class permabots.views.hooks.messenger_hook.Resource[source]

Bases: object

classmethod from_json(json)[source]
classmethod property_mapping()[source]

A map of property name to json key name for properties that can be simply serialized to/from json (no objects, etc.)

to_json()[source]
class permabots.views.hooks.messenger_hook.Webhook(object, entries=None)[source]

Bases: permabots.views.hooks.messenger_hook.Resource

classmethod from_json(json)[source]
classmethod property_mapping()[source]
to_json()[source]

permabots.views.hooks.permabots_hook module

class permabots.views.hooks.permabots_hook.PermabotsHookView(**kwargs)[source]

Bases: rest_framework.views.APIView

View for Notification Hooks.

authentication_classes = (<class 'rest_framework.authentication.TokenAuthentication'>,)
permission_classes = (<class 'rest_framework.permissions.IsAuthenticated'>,)
post(request, key)[source]
Process notitication hooks:
  1. Obtain Hook
  2. Check Auth
  3. Delay processing to a task
  4. Respond requester

permabots.views.hooks.telegram_hook module

exception permabots.views.hooks.telegram_hook.OnlyTextMessages[source]

Bases: exceptions.Exception

class permabots.views.hooks.telegram_hook.TelegramHookView(**kwargs)[source]

Bases: rest_framework.views.APIView

View for Telegram webhook

create_update(serializer, bot)[source]
post(request, hook_id)[source]
Process Telegram webhook.
  1. Serialize Telegram message
  2. Get an enabled Telegram bot

3. Create Update 5. Delay processing to a task 6. Response provider

Module contents