-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathparrot-adaptive-card.py
84 lines (75 loc) · 2 KB
/
parrot-adaptive-card.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
'''
Sample Parrot Bot
This bot responds to any message by repeated what was said to it.
'''
__name__ = 'localConfig'
__package__ = 'ringcentral_bot_framework'
import copy
def botJoinPrivateChatAction(bot, groupId, user, dbAction):
'''
This is invoked when the bot is added to a private group.
'''
# bot.sendMessage(
# groupId,
# {
# 'text': f'Hello, I am a parrot. Please reply '![:Person]({bot.id})' if you want to talk to me.'
# }
# )
'''
use adaptive card
check https://adaptivecards.io/ for more detail
'''
bot.sendAdaptiveCard(
groupId,
{
'$schema': 'http://adaptivecards.io/schemas/adaptive-card.json',
'type': 'AdaptiveCard',
'version': '1.3',
'body': [
{
'type': 'TextBlock',
'text': 'hello!',
'size': 'large'
},
{
'type': 'TextBlock',
'text': 'I am a chat bot',
'weight': 'bolder'
}
]
}
)
def botGotPostAddAction(
bot,
groupId,
creatorId,
user,
text,
dbAction,
handledByExtension,
event
):
'''
This is invoked when the user sends a message to the bot.
'''
if handledByExtension:
return
if f'![:Person]({bot.id})' in text:
bot.sendAdaptiveCard(
groupId,
{
'$schema': 'http://adaptivecards.io/schemas/adaptive-card.json',
'type': 'AdaptiveCard',
'version': '1.3',
'body': [
{
'type': 'TextBlock',
'text': 'Hello'
},
{
'type': 'TextBlock',
'text': f'![:Person]({creatorId}), Hello, you just posted "{text}"'
}
]
}
)