Skip to content

Commit fb7864f

Browse files
authored
Merge pull request #32 from guiajlopes/feature/31-add-conversations-api
Add conversation start function
2 parents e0d3e1b + b948d79 commit fb7864f

21 files changed

+1086
-176
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/usr/bin/env python
2+
import argparse
3+
import messagebird
4+
from messagebird.conversation_message import MESSAGE_TYPE_TEXT
5+
6+
parser = argparse.ArgumentParser()
7+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
8+
parser.add_argument('--conversationId', help='conversation ID that you want to create a message for', type=str,
9+
required=True)
10+
parser.add_argument('--channelId', help='channel ID that you want to create a message for', type=str, required=True)
11+
parser.add_argument('--message', help='message that you want to send', type=str, required=True)
12+
args = vars(parser.parse_args())
13+
14+
try:
15+
client = messagebird.Client(args['accessKey'])
16+
17+
msg = client.conversation_create_message(args['conversationId'],
18+
{'channelId': args['channelId'], 'type': MESSAGE_TYPE_TEXT,
19+
'content': {'text': args['message']}})
20+
21+
# Print the object information.
22+
print('The following information was returned as a Conversation List object:')
23+
print(msg)
24+
25+
except messagebird.client.ErrorException as e:
26+
print('An error occured while requesting a Message object:')
27+
28+
for error in e.errors:
29+
print(' code : %d' % error.code)
30+
print(' description : %s' % error.description)
31+
print(' parameter : %s\n' % error.parameter)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/env python
2+
import argparse
3+
import messagebird
4+
from messagebird.conversation_webhook import \
5+
CONVERSATION_WEBHOOK_EVENT_CONVERSATION_CREATED, \
6+
CONVERSATION_WEBHOOK_EVENT_CONVERSATION_UPDATED
7+
8+
parser = argparse.ArgumentParser()
9+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
10+
parser.add_argument('--channelId', help='channel that you want create the webhook', type=str, required=True)
11+
parser.add_argument('--url', help='url for the webhook', type=str)
12+
args = vars(parser.parse_args())
13+
14+
try:
15+
client = messagebird.Client(args['accessKey'])
16+
17+
webhook = client.conversation_create_webhook({
18+
'channelId': args['channelId'],
19+
'events': [CONVERSATION_WEBHOOK_EVENT_CONVERSATION_CREATED, CONVERSATION_WEBHOOK_EVENT_CONVERSATION_UPDATED],
20+
'url': args['url']
21+
})
22+
23+
# Print the object information.
24+
print('The following information was returned as a Webhook object:')
25+
print(webhook)
26+
27+
except messagebird.client.ErrorException as e:
28+
print('An error occured while requesting a Webhook object:')
29+
30+
for error in e.errors:
31+
print(' code : %d' % error.code)
32+
print(' description : %s' % error.description)
33+
print(' parameter : %s\n' % error.parameter)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env python
2+
import argparse
3+
import messagebird
4+
5+
parser = argparse.ArgumentParser()
6+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
7+
parser.add_argument('--webhookId', help='webhook that you want to delete', type=str, required=True)
8+
args = vars(parser.parse_args())
9+
10+
try:
11+
client = messagebird.Client(args['accessKey'])
12+
13+
client.conversation_delete_webhook(args['webhookId'])
14+
15+
# Print the object information.
16+
print('Webhook has been deleted')
17+
18+
except messagebird.client.ErrorException as e:
19+
print('An error occured while requesting a Webhook object:')
20+
21+
for error in e.errors:
22+
print(' code : %d' % error.code)
23+
print(' description : %s' % error.description)
24+
print(' parameter : %s\n' % error.parameter)

examples/conversation_list.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env python
2+
import messagebird
3+
import argparse
4+
5+
parser = argparse.ArgumentParser()
6+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
7+
args = vars(parser.parse_args())
8+
9+
try:
10+
client = messagebird.Client(args['accessKey'])
11+
12+
conversationList = client.conversation_list()
13+
14+
# Print the object information.
15+
print('The following information was returned as a Conversation List object:')
16+
print(conversationList)
17+
18+
except messagebird.client.ErrorException as e:
19+
print('An error occured while requesting a Message object:')
20+
21+
for error in e.errors:
22+
print(' code : %d' % error.code)
23+
print(' description : %s' % error.description)
24+
print(' parameter : %s\n' % error.parameter)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env python
2+
import argparse
3+
import messagebird
4+
5+
parser = argparse.ArgumentParser()
6+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
7+
parser.add_argument('--conversationId', help='conversation that you want the list of messages', type=str, required=True)
8+
args = vars(parser.parse_args())
9+
10+
try:
11+
client = messagebird.Client(args['accessKey'])
12+
13+
msg = client.conversation_list_messages(args['conversationId'])
14+
15+
# Print the object information.
16+
print('The following information was returned as a Conversation Message List object:')
17+
print(msg)
18+
19+
except messagebird.client.ErrorException as e:
20+
print('An error occured while requesting a Conversation Message List object:')
21+
22+
for error in e.errors:
23+
print(' code : %d' % error.code)
24+
print(' description : %s' % error.description)
25+
print(' parameter : %s\n' % error.parameter)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env python
2+
import argparse
3+
import messagebird
4+
5+
parser = argparse.ArgumentParser()
6+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
7+
args = vars(parser.parse_args())
8+
9+
try:
10+
client = messagebird.Client(args['accessKey'])
11+
12+
webhook_list = client.conversation_list_webhooks()
13+
14+
# Print the object information.
15+
print('The following information was returned as a Conversation Webhook List object:')
16+
print(webhook_list)
17+
18+
except messagebird.client.ErrorException as e:
19+
print('An error occured while requesting a Conversation Webhook List object:')
20+
21+
for error in e.errors:
22+
print(' code : %d' % error.code)
23+
print(' description : %s' % error.description)
24+
print(' parameter : %s\n' % error.parameter)

examples/conversation_read.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env python
2+
import messagebird
3+
import argparse
4+
5+
parser = argparse.ArgumentParser()
6+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
7+
parser.add_argument('--conversationId', help='conversation that you want the message list', type=str, required=True)
8+
args = vars(parser.parse_args())
9+
10+
try:
11+
client = messagebird.Client(args['accessKey'])
12+
13+
conversation = client.conversation_read(args['conversationId'])
14+
15+
# Print the object information.
16+
print('The following information was returned as a Conversation object:')
17+
print(conversation)
18+
19+
except messagebird.client.ErrorException as e:
20+
print('An error occured while requesting a Conversation object:')
21+
22+
for error in e.errors:
23+
print(' code : %d' % error.code)
24+
print(' description : %s' % error.description)
25+
print(' parameter : %s\n' % error.parameter)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env python
2+
import argparse
3+
import messagebird
4+
5+
parser = argparse.ArgumentParser()
6+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
7+
parser.add_argument('--messageId', help='message that you want to read', type=str, required=True)
8+
args = vars(parser.parse_args())
9+
10+
try:
11+
client = messagebird.Client(args['accessKey'])
12+
13+
msg = client.conversation_read_message(args['messageId'])
14+
15+
# Print the object information.
16+
print('The following information was returned as a Conversation List object:')
17+
print(msg)
18+
19+
except messagebird.client.ErrorException as e:
20+
print('An error occured while requesting a Message object:')
21+
22+
for error in e.errors:
23+
print(' code : %d' % error.code)
24+
print(' description : %s' % error.description)
25+
print(' parameter : %s\n' % error.parameter)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env python
2+
import messagebird
3+
import argparse
4+
5+
parser = argparse.ArgumentParser()
6+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
7+
parser.add_argument('--webhookId', help='webhook that you want to read', type=str, required=True)
8+
args = vars(parser.parse_args())
9+
10+
try:
11+
client = messagebird.Client(args['accessKey'])
12+
13+
webhook = client.conversation_read_webhook(args['webhookId'])
14+
15+
# Print the object information.
16+
print('The following information was returned as a Webhook object:')
17+
print(webhook)
18+
19+
except messagebird.client.ErrorException as e:
20+
print('An error occured while requesting a Webhook object:')
21+
22+
for error in e.errors:
23+
print(' code : %d' % error.code)
24+
print(' description : %s' % error.description)
25+
print(' parameter : %s\n' % error.parameter)

examples/conversation_start.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/usr/bin/env python
2+
import argparse
3+
import messagebird
4+
from messagebird.conversation_message import MESSAGE_TYPE_TEXT
5+
6+
parser = argparse.ArgumentParser()
7+
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
8+
parser.add_argument('--channelId', help='channel that you want to start a conversation', type=str, required=True)
9+
parser.add_argument('--phoneNumber', help='phone number that you want to send a message', type=str, required=True)
10+
parser.add_argument('--textMessage', help='text that you want to send', type=str, required=True)
11+
args = vars(parser.parse_args())
12+
13+
try:
14+
client = messagebird.Client(args['accessKey'])
15+
16+
msg = client.conversation_start(
17+
{'channelId': args['channelId'], 'to': args['phoneNumber'], 'type': MESSAGE_TYPE_TEXT,
18+
'content': {'text': args['textMessage']}})
19+
20+
# Print the object information.
21+
print('The following information was returned as a Conversation object:')
22+
print(msg)
23+
24+
except messagebird.client.ErrorException as e:
25+
print('An error occured while requesting a Message object:')
26+
27+
for error in e.errors:
28+
print(' code : %d' % error.code)
29+
print(' description : %s' % error.description)
30+
print(' parameter : %s\n' % error.parameter)

0 commit comments

Comments
 (0)