Actionable messages
Project description
Actionable messages
- Base informations
- Installation
- Requirements
- Usage
- AdaptiveCard
- MessageCard
Base informations
Send an actionable message via email in Office 365
Outlook version requirements for actionable messages
Installation
pip install git+https://github.com/utsurius/django-actionable-messages
pip install django-actionable-messages
Add "django_actionable_messages" to INSTALLED_APPS:
INSTALLED_APPS = [
...
"django_actionable_messages",
]
SETTINGS
ACTIONABLE_MESSAGES = {
"JSON_ENCODER": None,
"LANGUAGE_CODE": "en"
}
"JSON_ENCODER" - doted path to custom json encoder (default: BaseEncoder).
"LANGUAGE_CODE" - language code used for translations (defaults to project settings.LANGUAGE_CODE). Each element of adaptive_card/message_card can set individual "lang_code".
Requirements
Name | Version |
---|---|
python | 3.5 - 3.8 |
django | 2.2 - 3.0 |
Usage
examples/message_card/github.py
from django_actionable_messages.message_card.actions import OpenUri, HttpPOST, ActionCard
from django_actionable_messages.message_card.cards import MessageCard
from django_actionable_messages.message_card.elements import Fact, ActionTarget
from django_actionable_messages.message_card.inputs import TextInput
from django_actionable_messages.message_card.sections import Section
from django_actionable_messages.message_card.utils import OSType
issue_opened = MessageCard(title="Issue opened: \"Push notifications not working\"", summary="Issue 176715375",
theme_color="0078D7")
issue_opened.add_sections(
Section(
activity_title="Miguel Garcie",
activity_subtitle="9/13/2016, 11:46am",
activity_image="https://connectorsdemo.azurewebsites.net/images/MSC12_Oscar_002.jpg",
text="There is a problem with Push notifications, they don't seem to be picked up by the connector.",
facts=[
Fact("Repository:", "mgarcia\\test"),
Fact("Issue #:", "176715375")
]
)
)
issue_opened.add_actions([
ActionCard(
name="Add a comment",
inputs=[
TextInput(input_id="comment", title="Enter a comment", is_multiline=True)
],
actions=[
HttpPOST("OK", target="http://...")
]
),
HttpPOST("Close", target="http://..."),
OpenUri(name="View in Github", targets=[
ActionTarget(OSType.DEFAULT, "http://...")
])
])
examples/adaptive_card/calendar_reminder.py
from django_actionable_messages.adaptive_card.actions import Submit
from django_actionable_messages.adaptive_card.cards import AdaptiveCard
from django_actionable_messages.adaptive_card.elements import TextBlock
from django_actionable_messages.adaptive_card.inputs import InputChoice, ChoiceSetInput
from django_actionable_messages.adaptive_card.utils import SCHEMA, FontSize, FontWeight, SpacingStyle, ChoiceInputStyle
calendar_reminder = AdaptiveCard(version="1.0", schema=SCHEMA)
calendar_reminder.set_speak("Your meeting about \"Adaptive Card design session\" is starting at 12:30pm"
"Do you want to snooze or do you want to send a late notification to the attendees?")
calendar_reminder.add_elements(TextBlock("Adaptive Card design session", size=FontSize.LARGE, weight=FontWeight.BOLDER))
calendar_reminder.add_elements([
TextBlock("Conf Room 112/3377 (10)", is_subtle=True),
TextBlock("12:30 PM - 1:30 PM", is_subtle=True, spacing=SpacingStyle.NONE),
TextBlock("Snooze for")
])
calendar_reminder.add_elements(ChoiceSetInput(
item_id="snooze", style=ChoiceInputStyle.COMPACT, value="5", choices=[
InputChoice("5 minutes", "5"),
InputChoice("15 minutes", "15"),
InputChoice("30 minutes", "30")
]
))
calendar_reminder.add_actions([
Submit(title="Snooze", data={
"x": "snooze"
}),
Submit(title="I'll be late", data={
"x": "late"
})
])
For more view examples
folder
To get dictionary, json or html payload from card use:
Property | Type |
---|---|
.payload | dict (raw data) |
.json_payload | json string |
.html_payload | html string - can be used to send card via email (docs) |
Problem: '... is not JSON serializable' - probably invalid argument type was used. Default json serializer can handle translated strings and everything that DjangoJSONEncoder
can handle.
Solution: Better Python Object Serialization. Remember to ALWAYS inherit from EncoderMixin (django_actionable_messages.encoders import EncoderMixin
)
You can set JSON_ENCODER (globally) in SETTINGS(ACTIONABLE_MESSAGES) or set it by card(json_encoder):
from django_actionable_messages.adaptive_card.cards import AdaptiveCard
class MyAdaptiveCard(AdaptiveCard):
json_encoder = "path.to.my.encoder"
or
from django_actionable_messages.adaptive_card.cards import AdaptiveCard
class MyAdaptiveCard(AdaptiveCard):
json_encoder = MyJSONEncoder
Send MessageCard to msteams using webhooks and requests
library:
import requests
requests.post(
webhook_url,
json=card.json_payload,
headers={
"Content-Type": "application/json; charset=utf-8"
}
)
To get/add webhook_url
see here: Get the Microsoft Teams webhook URL, Create and add an outgoing webhook in Teams
AdaptiveCard
Supported versions: 1.0, 1.1, 1.2
Elements
src: from django_actionable_messages.adaptive_card.elements import ...
TextBlock docs
Argument name | Function | Property | Type |
---|---|---|---|
text | set_text() | text | str, trans3 |
color | set_color() | color | Color1 |
font_type | set_font_type() | fontType | FontType1 |
horizontal_alignment | set_horizontal_alignment() | horizontalAlignment | HorizontalAlignment1 |
is_subtle | set_is_subtle() | isSubtle | bool |
max_lines | set_max_lines() | maxLines | int |
size | set_size() | size | FontSize1 |
weight | set_weight() | weight | FontWeight1 |
wrap | set_wrap() | wrap | bool |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Image docs
Argument name | Function | Property | Type |
---|---|---|---|
url | set_url() | url | str |
alternate_text | set_alternate_text() | altText | str |
background_color | set_background_color() | backgroundColor | str |
height | set_height() | height | str or BlockElementHeight1 |
horizontal_alignment | set_horizontal_alignment() | horizontalAlignment | HorizontalAlignment1 |
select_action | set_select_action() | selectAction | see docs |
size | set_size() | size | ImageSize1 |
style | set_style() | style | ImageStyle1 |
width | set_width() | width | str |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
MediaSource docs
Argument name | Property | Type |
---|---|---|
mime_type | mimeType | str |
url | url | str |
Media docs
Argument name | Function | Property | Type |
---|---|---|---|
sources | add_sources() | sources | list of MediaSource(s)1 |
poster | set_poster() | poster | str |
alternate_text | set_alternate_text() | altText | str |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
Other functions
Name | Property | Type |
---|---|---|
add_source() | sources | MediaSource1 |
[1] from django_actionable_messages.adaptive_cards.elements import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
TextRun docs
Argument name | Function | Property | Type |
---|---|---|---|
text | set_text() | text | str, trans 2 |
color | set_color() | color | Color1 |
font_type | set_font_type() | fontType | FontType1 |
highlight | set_highlight() | highlight | bool |
is_subtle | set_is_subtle() | isSubtle | bool |
italic | set_italic() | italic | bool |
select_action | set_select_action() | selectAction | see docs |
size | set_size() | fontSize | FontSize1 |
strike_through | set_strike_through() | strikethrough | bool |
weight | set_weight() | fontWeight | FontWeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
RichTextBlock docs
Argument name | Function | Property | Type |
---|---|---|---|
inlines | set_inlines() | inlines | str, TextRun1, trans4 |
horizontal_alignment | set_horizontal_alignment() | horizontalAlignment | HorizontalAlignment1 |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
[1] from django_actionable_messages.adaptive_cards.elements import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[4] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Inputs
src: from django_actionable_messages.adaptive_card.inputs import ...
TextInput docs
Argument name | Function | Property | Type |
---|---|---|---|
is_multiline | set_is_multiline() | isMultiline | bool |
max_length | set_max_length() | maxLength | int |
placeholder | set_placeholder() | placeholder | str, trans3 |
style | set_style() | style | TextInputStyle1 |
inline_action | set_inline_action() | inlineAction | see docs |
value | set_value() | value | str, trans3 |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
NumberInput docs
Argument name | Function | Property | Type |
---|---|---|---|
max_value | set_max_value() | maxValue | int |
min_value | set_min_value() | minValue | int |
placeholder | set_placeholder() | placeholder | str, trans3 |
value | set_value() | value | int |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
DateInput docs
Argument name | Function | Property | Type |
---|---|---|---|
max_value | set_max_value() | maxValue | str |
min_value | set_min_value() | minValue | str |
placeholder | set_placeholder() | placeholder | str, trans3 |
value | set_value() | value | str |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
TimeInput docs
Argument name | Function | Property | Type |
---|---|---|---|
max_value | set_max_value() | maxValue | str |
min_value | set_min_value() | minValue | str |
placeholder | set_placeholder() | placeholder | str, trans3 |
value | set_value() | value | str |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ToggleInput docs
Argument name | Function | Property | Type |
---|---|---|---|
title | set_title() | title | str, trans3 |
value | set_value() | value | str |
value_off | set_value_off() | valueOff | str |
value_on | set_value_on() | valueOn | str |
wrap | set_wrap() | wrap | bool |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
InputChoice docs
Argument name | Property | Type |
---|---|---|
title | title | str, trans1 |
value | value | str, int |
lang_code | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ChoiceSetInput docs
Argument name | Function | Property | Type |
---|---|---|---|
choices | set_choices() | choices | list of InputChoice(s)1 |
is_multi_select | set_is_multi_select() | isMultiSelect | bool |
style | set_style() | style | ChoiceInputStyle2 |
value | set_value() | value | str |
wrap | set_wrap() | wrap | bool |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.inputs import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
Actions
src: from django_actionable_messages.adaptive_card.actions import ...
OpenUrl docs
Argument name | Function | Property | Type |
---|---|---|---|
url | set_url() | url | str |
title | set_title() | title | str, trans3 |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle2 |
item_id | set_id() | id | str |
fallback | set_fallback() | fallback | FallbackOption2 or action1(except TargetElement1) |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Submit docs
Argument name | Function | Property | Type |
---|---|---|---|
data | set_data() | data | str, dict |
title | set_title() | title | str, trans3 |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle2 |
item_id | set_id() | id | str |
fallback | set_fallback() | fallback | FallbackOption2 or action1(except TargetElement1) |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ShowCard docs
Argument name | Function | Property | Type |
---|---|---|---|
card | set_card() | card | AdaptiveCard2 |
title | set_title() | title | str, trans4 |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle3 |
item_id | set_id() | id | str |
fallback | set_fallback() | fallback | FallbackOption3 or action1(except TargetElement1) |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.cards import ...
[3] from django_actionable_messages.adaptive_cards.utils import ...
[4] any translation like from django.utils.translation import gettext, gettext_lazy, ...
TargetElement docs
Argument name | Function | Property | Type |
---|---|---|---|
element_id | set_element_id() | elementId | str |
is_visible | set_is_visible() | isVisible | bool |
ToggleVisibility docs
Argument name | Function | Property | Type |
---|---|---|---|
target_elements | set_target_elements() | targetElements | list of TargetElement1/str/trans3 (can be mixed) |
title | set_title() | title | str |
icon_url | set_icon_url() | iconUrl | str |
style | set_style() | style | ActionStyle2 |
item_id | set_id() | id | str |
fallback | set_fallback() | fallback | FallbackOption1 or action1(except TargetElement1) |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.actions import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Containers
src: from django_actionable_messages.adaptive_card.containers import ...
ActionSet docs
Argument name | Function | Property | Type |
---|---|---|---|
actions | add_actions() | actions | action or list of actions(see docs) |
fallback | set_fallback() | fallback | FallbackOption1 or card element2 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle1 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
Container docs
Argument name | Function | Property | Type |
---|---|---|---|
items | add_items() | items | item or list of items(see docs) |
select_action | set_select_action() | selectAction | any action(see docs) |
style | set_style() | style | Style2 |
vertical_content_alignment | set_vertical_content_alignment() | verticalContentAlignment | VerticalAlignment2 |
bleed | set_bleed() | bleed | bool |
background_image | set_background_image() | backgroundImage | BackgroundImage1 |
min_height | set_min_height() | minHeight | str |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.types import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
Column docs
Argument name | Function | Property | Type |
---|---|---|---|
items | add_items() | items | item or list of items(see docs) |
background_image | set_background_image() | backgroundImage | str, BackgroundImage2 |
bleed | set_bleed() | bleed | bool |
fallback | set_fallback() | fallback | FallbackOption3 or Column1 |
min_height | set_min_height() | minHeight | str |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle3 |
select_action | set_select_action() | selectAction | see docs |
style | set_style() | style | Style3 |
vertical_content_alignment | set_vertical_content_alignment() | verticalContentAlignment | VerticalAlignment3 |
width | set_width() | width | str, int, Width3 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.containers import ...
[2] from django_actionable_messages.adaptive_cards.types import ...
[3] from django_actionable_messages.adaptive_cards.utils import ...
ColumnSet docs
Argument name | Function | Property | Type |
---|---|---|---|
columns | add_columns() | columns | Column1 or list of Column(s)1 |
select_action | set_select_action() | selectAction | see docs |
style | set_style() | style | Style2 |
bleed | set_bleed() | bleed | bool |
min_height | set_min_height() | minHeight | str |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.containers import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
Fact docs
Argument name | Property | Type |
---|---|---|
title | title | str, trans1 |
value | value | str, trans1 |
lang_code | - | - |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
FactSet docs
Argument name | Function | Property | Type |
---|---|---|---|
facts | add_facts() | facts | Fact1 or list of Fact(s)1 |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.containers import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
ImageSet docs
Argument name | Function | Property | Type |
---|---|---|---|
images | add_images() | images | Image1 or list of Image(s)1 |
image_size | set_image_size() | imageSize | ImageSize2 |
fallback | set_fallback() | fallback | FallbackOption2 or card element3 |
separator | set_separator() | separator | bool |
spacing | set_spacing() | spacing | SpacingStyle2 |
item_id | set_id() | id | str |
is_visible | set_is_visible() | isVisible | bool |
requires | set_requires() | requires | dict |
height | set_height() | height | BlockElementHeight2 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.elements import ...
[2] from django_actionable_messages.adaptive_cards.utils import ...
[3]
Type | All except | Import |
---|---|---|
containers |
Fact, Column | from django_actionable_messages.adaptive_cards.containers import ... |
elements |
MediaSource, TextRun | from django_actionable_messages.adaptive_cards.elements import ... |
inputs |
InputChoice | from django_actionable_messages.adaptive_cards.inputs import ... |
Types
src: from django_actionable_messages.adaptive_card.types import ...
BackgroundImage docs
Argument name | Function | Property | Type |
---|---|---|---|
url | set_url() | url | str |
fill_mode | set_fill_mode() | fillMode | FillMode1 |
horizontal_alignment | set_horizontal_alignment() | horizontalAlignment | HorizontalAlignment1 |
vertical_alignment | set_vertical_alignment() | verticalAlignment | VerticalAlignment1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
Cards
src: from django_actionable_messages.adaptive_card.cards import ...
AdaptiveCard docs
Argument name | Function | Property | Type |
---|---|---|---|
version | set_version() | version | str, SCHEMA1 |
schema | set_schema() | $schema | str |
inputs | add_elements() | inputs | input or list of inputs(see docs) |
actions | add_actions() | actions | action or list of actions(see docs) |
select_action | set_select_action() | selectAction | see docs |
style | set_style() | style | Style1 |
hide_original_body | set_hide_original_body() | hideOriginalBody | bool |
fallback_text | set_fallback_text() | fallbackText | str |
background_image | set_background_image() | backgroundImage | str, Image2 |
min_height | set_min_height() | minHeight | str |
speak | set_speak() | speak | str |
lang | set_lang() | lang | str |
vertical_content_alignment | set_vertical_content_alignment() | verticalContentAlignment | VerticalAlignment1 |
lang_code | - | - | str |
[1] from django_actionable_messages.adaptive_cards.utils import ...
[2] from django_actionable_messages.adaptive_cards.elements import ...
MessageCard
Legacy actionable message card reference
Elements
src: from django_actionable_messages.message_card.elements import ...
Header docs
Argument name | Property | Type |
---|---|---|
name | name | str |
value | value | str, int |
**Fact**
Argument name | Property | Type |
---|---|---|
name | name | str, trans1 |
value | value | str, trans1 |
lang_code | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
HeroImage docs
Argument name | Function | Property | Type |
---|---|---|---|
url | set_url() | image | str |
title | set_title() | title | str, trans1 |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
InputChoice
Argument name | Property | Type |
---|---|---|
name | display | str, trans1 |
value | value | str, int |
lang_code | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ActionTarget
Argument name | Property | Type |
---|---|---|
os_type | os | OSType1 |
url | uri | str |
lang_code | - | str |
[1] from django_actionable_messages.message_cards.utils import ...
Inputs
src: from django_actionable_messages.message_card.inputs import ...
TextInput docs
Argument name | Function | Property | Type |
---|---|---|---|
max_length | set_max_length() | maxLength | int |
is_multiline | set_is_multiline() | isMultiline | bool |
input_id | set_id() | id | str |
title | set_title() | title | str, trans1 |
value | set_value() | value | str |
is_required | set_is_required() | isRequired | bool |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
DateInput docs
Argument name | Function | Property | Type |
---|---|---|---|
include_time | set_include_time() | maxLength | bool |
input_id | set_id() | id | str |
title | set_title() | title | str, trans1 |
value | set_value() | value | str |
is_required | set_is_required() | isRequired | bool |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
MultiChoiceInput docs
Argument name | Function | Property | Type |
---|---|---|---|
choices | add_choices() | choices | list of InputChoice(s)1 |
is_multi_select | set_is_multi_select() | isMultiSelect | bool |
style | set_style() | style | ChoiceStyle2 |
input_id | set_id() | id | str |
title | set_title() | title | str, trans3 |
value | set_value() | value | str |
is_required | set_is_required() | isRequired | bool |
lang_code | - | - | str |
Other functions
Name | Property | Type |
---|---|---|
add_choice() | choices | InputChoice1 |
[1] from django_actionable_messages.message_cards.inputs import ...
[2] from django_actionable_messages.message_cards.utils import ...
[3] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Actions
src: from django_actionable_messages.message_card.actions import ...
OpenUri docs
Argument name | Function | Property | Type |
---|---|---|---|
name | set_name() | name | str, trans2 |
targets | add_targets() | targets | list of ActionTarget1 |
lang_code | - | - | str |
Other functions
Name | Property | Type |
---|---|---|
add_target() | targets | ActionTarget1 |
[1] from django_actionable_messages.message_cards.elements import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
HttpPOST docs
Argument name | Function | Property | Type |
---|---|---|---|
name | set_name() | name | str, trans2 |
target | set_target() | targets | str |
headers | add_headers() | headers | Header1 or list of Header(s)1 |
body | set_body() | body | str |
body_content_type | set_body_content_type() | bodyContentType | str |
lang_code | - | - | str |
[1] from django_actionable_messages.message_cards.elements import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
InvokeAddInCommand docs
Argument name | Function | Property | Type |
---|---|---|---|
name | set_name() | name | str, trans1 |
add_in_id | set_add_in_id() | addInId | str |
desktop_command_id | set_desktop_command_id() | desktopCommandId | str |
initialization_context | set_set_initialization_context() | initializationContext | dict |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
ActionCard docs
Argument name | Function | Property | Type |
---|---|---|---|
name | set_name() | name | str, trans1 |
inputs | add_inputs() | inputs | input or list of inputs(see docs) |
actions | add_actions() | actions | action or list of actions(see docs) |
lang_code | - | - | str |
[1] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Sections
src: from django_actionable_messages.message_card.sections import ...
Section docs
Argument name | Function | Property | Type |
---|---|---|---|
start_group | set_start_group() | startGroup | bool |
title | set_title() | title | str, trans2 |
text | set_text() | text | str, trans2 |
activity_image | set_activity_image() | activityImage | str |
activity_title | set_activity_title() | activityTitle | str, trans2 |
activity_subtitle | set_activity_subtitle() | activitySubtitle | str, trans2 |
activity_text | set_activity_text() | activityText | str, trans2 |
hero_image | set_hero_image() | heroImage | HeroImage2 |
facts | add_facts() | facts | Fact(s)1 or list of Fact1 |
actions | add_potential_actions() | potentialAction | action or list of actions(see docs) |
lang_code | - | - | str |
Other functions:
Name | Property | Type |
---|---|---|
set_activity(image, title, subtitle, text) | activityImage, activityTitle, activitySubtitle, activityText | str |
[1] from django_actionable_messages.message_cards.elements import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
Cards
src: from django_actionable_messages.message_card.cards import ...
MessageCard
Argument name | Function | Property | Type |
---|---|---|---|
title | set_title() | title | str, trans2 |
text | set_text() | text | str, trans2 |
originator | set_originator() | originator | str |
summary | set_summary() | summary | str, trans2 |
theme_color | set_theme_color() | themeColor | str |
correlation_id | set_correlation_id() | correlationId | str |
auto_correlation_id* | - | correlationId | bool (default: True) |
expected_actors | set_expected_actors() | expectedActors | list of emails |
hide_original_body | set_hide_original_body() | hideOriginalBody | bool |
sections | add_sections() | sections | Section1 or list of Sections1 |
actions | add_actions() | potentialAction | action3 or list of actions3 |
lang_code | - | - | str |
Other functions:
Name | Property | Type |
---|---|---|
add_expected_actors() | expectedActors | str or list of str |
[1] from django_actionable_messages.message_cards.sections import ...
[2] any translation like from django.utils.translation import gettext, gettext_lazy, ...
[3] from django_actionable_messages.message_cards.actions import ...
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
Built Distribution
Hashes for django_actionable_messages-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f42b9dd87cf061f804537d798bb7512f07d098cfba2b7c54496a6de2ddfe4c1f |
|
MD5 | b3e8f4d1dc68ceff0dd57ca8fde8a650 |
|
BLAKE2b-256 | 17fb28a84c5e2ad54b399ab498e0ff9cff21b2057b41d836f2f34858005ba305 |
Hashes for django_actionable_messages-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fda136b5ecc430b6db7a90aac6bea715321846c0211e1ad0e288e8f86112ac4 |
|
MD5 | 8708449baacf891a52d12c1aa105157c |
|
BLAKE2b-256 | 9e0ece3d65906b658dbfe29108715ab70bb7c790342b1c6860ca42836e7087ae |