Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions examples/conversation_create_message.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/usr/bin/env python
import argparse
import messagebird
from messagebird.conversation_message import MESSAGE_TYPE_TEXT

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--conversationId', help='conversation ID that you want to create a message for', type=str,
required=True)
parser.add_argument('--channelId', help='channel ID that you want to create a message for', type=str, required=True)
parser.add_argument('--message', help='message that you want to send', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

msg = client.conversation_create_message(args['conversationId'],
{'channelId': args['channelId'], 'type': MESSAGE_TYPE_TEXT,
'content': {'text': args['message']}})

# Print the object information.
print('The following information was returned as a Conversation List object:')
print(msg)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Message object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
33 changes: 33 additions & 0 deletions examples/conversation_create_webhook.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env python
import argparse
import messagebird
from messagebird.conversation_webhook import \
CONVERSATION_WEBHOOK_EVENT_CONVERSATION_CREATED, \
CONVERSATION_WEBHOOK_EVENT_CONVERSATION_UPDATED

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--channelId', help='channel that you want create the webhook', type=str, required=True)
parser.add_argument('--url', help='url for the webhook', type=str)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

webhook = client.conversation_create_webhook({
'channelId': args['channelId'],
'events': [CONVERSATION_WEBHOOK_EVENT_CONVERSATION_CREATED, CONVERSATION_WEBHOOK_EVENT_CONVERSATION_UPDATED],
'url': args['url']
})

# Print the object information.
print('The following information was returned as a Webhook object:')
print(webhook)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Webhook object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
24 changes: 24 additions & 0 deletions examples/conversation_delete_webhook.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env python
import argparse
import messagebird

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--webhookId', help='webhook that you want to delete', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

client.conversation_delete_webhook(args['webhookId'])

# Print the object information.
print('Webhook has been deleted')

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Webhook object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
24 changes: 24 additions & 0 deletions examples/conversation_list.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env python
import messagebird
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

conversationList = client.conversation_list()

# Print the object information.
print('The following information was returned as a Conversation List object:')
print(conversationList)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Message object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
25 changes: 25 additions & 0 deletions examples/conversation_list_messages.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env python
import argparse
import messagebird

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--conversationId', help='conversation that you want the list of messages', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

msg = client.conversation_list_messages(args['conversationId'])

# Print the object information.
print('The following information was returned as a Conversation Message List object:')
print(msg)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Conversation Message List object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
24 changes: 24 additions & 0 deletions examples/conversation_list_webhook.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env python
import argparse
import messagebird

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

webhook_list = client.conversation_list_webhooks()

# Print the object information.
print('The following information was returned as a Conversation Webhook List object:')
print(webhook_list)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Conversation Webhook List object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
25 changes: 25 additions & 0 deletions examples/conversation_read.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env python
import messagebird
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--conversationId', help='conversation that you want the message list', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

conversation = client.conversation_read(args['conversationId'])

# Print the object information.
print('The following information was returned as a Conversation object:')
print(conversation)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Conversation object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
25 changes: 25 additions & 0 deletions examples/conversation_read_message.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env python
import argparse
import messagebird

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--messageId', help='message that you want to read', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

msg = client.conversation_read_message(args['messageId'])

# Print the object information.
print('The following information was returned as a Conversation List object:')
print(msg)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Message object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
25 changes: 25 additions & 0 deletions examples/conversation_read_webhook.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env python
import messagebird
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--webhookId', help='webhook that you want to read', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

webhook = client.conversation_read_webhook(args['webhookId'])

# Print the object information.
print('The following information was returned as a Webhook object:')
print(webhook)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Webhook object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
30 changes: 30 additions & 0 deletions examples/conversation_start.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env python
import argparse
import messagebird
from messagebird.conversation_message import MESSAGE_TYPE_TEXT

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--channelId', help='channel that you want to start a conversation', type=str, required=True)
parser.add_argument('--phoneNumber', help='phone number that you want to send a message', type=str, required=True)
parser.add_argument('--textMessage', help='text that you want to send', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

msg = client.conversation_start(
{'channelId': args['channelId'], 'to': args['phoneNumber'], 'type': MESSAGE_TYPE_TEXT,
'content': {'text': args['textMessage']}})

# Print the object information.
print('The following information was returned as a Conversation object:')
print(msg)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Message object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
25 changes: 25 additions & 0 deletions examples/conversation_update.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env python
import argparse
import messagebird

parser = argparse.ArgumentParser()
parser.add_argument('--accessKey', help='access key for MessageBird API', type=str, required=True)
parser.add_argument('--conversationId', help='conversation ID that you want to update', type=str, required=True)
args = vars(parser.parse_args())

try:
client = messagebird.Client(args['accessKey'])

conversation = client.conversation_update(args['conversationId'], {'status': 'active'})

# Print the object information.
print('The following information was returned as a Conversation object:')
print(conversation)

except messagebird.client.ErrorException as e:
print('An error occured while requesting a Conversation object:')

for error in e.errors:
print(' code : %d' % error.code)
print(' description : %s' % error.description)
print(' parameter : %s\n' % error.parameter)
11 changes: 9 additions & 2 deletions messagebird/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ def load(self, data):

return self

def value_to_time(self, value):
def strip_nanoseconds_from_date(self, value):
if str(value).find(".") != -1:
return value[:-11] + value[-1:]

return value

def value_to_time(self, value, format='%Y-%m-%dT%H:%M:%S+00:00'):
if value != None:
return datetime.strptime(value, '%Y-%m-%dT%H:%M:%S+00:00')
value = self.strip_nanoseconds_from_date(value)
return datetime.strptime(value, format)
Loading