Skip to content

Commit 535ad22

Browse files
committed
feat: example fixes
1 parent 3ff3232 commit 535ad22

23 files changed

Lines changed: 145 additions & 139 deletions

examples/async/accountMethodsAsync.py

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,18 @@
66
)
77

88
async def main():
9-
response = await greenAPI.account.getSettingsAsync()
10-
print(response.data) if response.code == 200 else print(response.error)
11-
12-
response = await greenAPI.account.getWaSettingsAsync()
13-
print(response.data) if response.code == 200 else print(response.error)
14-
15-
settings = {"outgoingWebhook": "yes", "incomingWebhook": "yes"}
16-
response = await greenAPI.account.setSettingsAsync(settings)
17-
print(response.data) if response.code == 200 else print(response.error)
18-
19-
response = await greenAPI.account.getStateInstanceAsync()
20-
print(response.data) if response.code == 200 else print(response.error)
21-
22-
response = await greenAPI.account.rebootAsync()
23-
print(response.data) if response.code == 200 else print(response.error)
9+
tasks = [
10+
greenAPI.account.getSettingsAsync(),
11+
greenAPI.account.getWaSettingsAsync(),
12+
greenAPI.account.setSettingsAsync({"outgoingWebhook": "yes", "incomingWebhook": "yes"}),
13+
greenAPI.account.getStateInstanceAsync(),
14+
greenAPI.account.rebootAsync(),
15+
greenAPI.account.qrAsync(),
16+
greenAPI.account.getAuthorizationCodeAsync(79876543210)
17+
]
2418

25-
response = await greenAPI.account.qrAsync()
26-
print(response.data) if response.code == 200 else print(response.error)
27-
28-
response = await greenAPI.account.getAuthorizationCodeAsync(79876543210)
29-
print(response.data) if response.code == 200 else print(response.error)
19+
responses = await asyncio.gather(*tasks, return_exceptions=True)
20+
[print(response.data) for response in responses if response.code == 200]
3021

3122
if __name__ == '__main__':
3223
asyncio.run(main())

examples/async/createGroupAndSendMessageAsync.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,17 @@
77

88
async def main():
99
create_group_response = await greenAPI.groups.createGroupAsync(
10-
"Async group", ["11001234567@c.us", "11001234568@c.us"]
10+
"SDK Python", ["11001234567@c.us", "11001234568@c.us"]
1111
)
1212

1313
if create_group_response.code == 200:
1414
print(create_group_response.data)
15-
16-
chat_id = create_group_response.data["chatId"]
15+
1716
send_message_response = await greenAPI.sending.sendMessageAsync(
18-
chat_id, "Message text"
17+
create_group_response.data["chatId"], "Message text"
1918
)
20-
print(send_message_response.data) if send_message_response.code == 200 else print(send_message_response.error)
21-
else:
22-
print(create_group_response.error)
19+
if send_message_response.code == 200:
20+
print(send_message_response.data)
2321

2422
if __name__ == '__main__':
2523
asyncio.run(main())

examples/async/groupsMethodsAsync.py

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,14 @@
66
)
77

88
async def main():
9-
response = await greenAPI.groups.createGroupAsync(
10-
"SDK Python",
11-
["11001234567@c.us", "11001234568@c.us"]
12-
)
13-
print(response.data) if response.code == 200 else print(response.error)
14-
15-
response = await greenAPI.groups.addGroupParticipantAsync(
16-
"1234567890@g.us",
17-
"11001234567@c.us"
18-
)
19-
print(response.data) if response.code == 200 else print(response.error)
20-
21-
response = await greenAPI.groups.getGroupDataAsync("1234567890@g.us")
22-
print(response.data) if response.code == 200 else print(response.error)
9+
tasks = [
10+
greenAPI.groups.createGroupAsync("SDK Python", ["11001234567@c.us", "11001234568@c.us"]),
11+
greenAPI.groups.addGroupParticipantAsync("1234567890@g.us", "11001234567@c.us"),
12+
greenAPI.groups.getGroupDataAsync("1234567890@g.us")
13+
]
14+
15+
responses = await asyncio.gather(*tasks, return_exceptions=True)
16+
[print(response.data) for response in responses if response.code == 200]
2317

2418
if __name__ == '__main__':
2519
asyncio.run(main())

examples/async/lastMessagesAsync.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,14 @@
66
)
77

88
async def main():
9-
response = await greenAPI.journals.lastIncomingMessagesAsync(4320)
10-
print(response.data) if response.code == 200 else print(response.error)
9+
tasks = [
10+
greenAPI.journals.lastIncomingMessagesAsync(4320),
11+
greenAPI.journals.lastOutgoingMessagesAsync(4320)
12+
]
1113

12-
response = await greenAPI.journals.lastOutgoingMessagesAsync(4320)
13-
print(response.data) if response.code == 200 else print(response.error)
14+
responses = await asyncio.gather(*tasks, return_exceptions=True)
15+
[print(response.data) for response in responses if response.code == 200]
16+
1417

1518
if __name__ == '__main__':
1619
asyncio.run(main())

examples/async/partnerMethods/CreateInstanceAsync.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ async def main():
2626
}
2727

2828
response = await greenAPI.partner.createInstanceAsync(settings)
29-
print(response.data) if response.code == 200 else print(response.error)
29+
if response.code == 200:
30+
print(response.data)
3031

3132
if __name__ == '__main__':
3233
asyncio.run(main())

examples/async/partnerMethods/DeleteInstanceAccountAsync.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
async def main():
99
response = await greenAPI.partner.deleteInstanceAccountAsync(0)
10-
print(response.data) if response.code == 200 else print(response.error)
10+
if response.code == 200:
11+
print(response.data)
1112

1213
if __name__ == '__main__':
1314
asyncio.run(main())

examples/async/partnerMethods/GetInstancesAsync.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
async def main():
99
response = await greenAPI.partner.getInstancesAsync()
10-
print(response.data) if response.code == 200 else print(response.error)
10+
if response.code == 200:
11+
print(response.data)
1112

1213
if __name__ == '__main__':
1314
asyncio.run(main())

examples/async/payload.py

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,21 @@ def __init__(self):
77
self.test_chat = "11001234567@c.us"
88

99
async def run_demo(self):
10-
await self.demo_account_management()
11-
await self.demo_contacts()
12-
await self.demo_sending_messages()
13-
await self.demo_journals()
14-
await self.demo_queues()
10+
tasks = [
11+
self.demo_account_management(),
12+
self.demo_contacts(),
13+
self.demo_sending_messages(),
14+
self.demo_journals(),
15+
self.demo_queues()
16+
]
17+
await asyncio.gather(*tasks, return_exceptions=True)
18+
1519

1620
async def demo_account_management(self):
1721
response = await self.greenAPI.account.getStateInstanceAsync()
18-
print(f"getStateInstanceAsync: {response.data.get('stateInstance') if response.code == 200 else response.error}")
19-
22+
if response.code == 200:
23+
print(response.data)
24+
2025
response = await self.greenAPI.account.getSettingsAsync()
2126
if response.code == 200:
2227
settings = response.data
@@ -27,17 +32,18 @@ async def demo_account_management(self):
2732

2833
new_settings = {"delaySendMessagesMilliseconds": 1000, "outgoingWebhook": "yes", "incomingWebhook": "yes"}
2934
response = await self.greenAPI.account.setSettingsAsync(new_settings)
30-
print(f"setSettingsAsync: {'Success' if response.code == 200 else 'Error'}")
35+
if response.code == 200:
36+
print("setSettings: ", response.data)
3137

3238
response = await self.greenAPI.account.qrAsync()
3339
if response.code == 200:
34-
print(f"qrAsync received (data size: {len(response.data)} bytes)")
40+
print(f"QR received (data size: {len(response.data)} bytes)")
3541

3642
async def demo_contacts(self):
3743
response = await self.greenAPI.serviceMethods.getContactsAsync()
3844
if response.code == 200:
3945
contacts = response.data
40-
print(f"getContactsAsync: {len(contacts)} contacts were received")
46+
print(f"getContacts: {len(contacts)} contacts were received")
4147

4248
for i, contact in enumerate(contacts[:3]):
4349
print(f" {i+1}. {contact.get('name', 'No name')} - {contact.get('id')}")
@@ -55,14 +61,16 @@ async def demo_sending_messages(self):
5561
self.test_chat,
5662
"This message was sent from Green-API SDK Python"
5763
)
58-
print(f"Text message {'sent' if response.code == 200 else 'error'}")
64+
if response.code == 200:
65+
print("Text message sent: ", response.data)
5966

6067
response = await self.greenAPI.sending.sendMessageAsync(
6168
self.test_chat,
6269
"Checking link preview: https://green-api.com",
6370
linkPreview=True
6471
)
65-
print(f"Message with preview {'sent' if response.code == 200 else 'error'}")
72+
if response.code == 200:
73+
print("Message with preview sent: ", response.data)
6674

6775
response = await self.greenAPI.sending.sendPollAsync(
6876
self.test_chat,
@@ -74,7 +82,8 @@ async def demo_sending_messages(self):
7482
],
7583
multipleAnswers=False
7684
)
77-
print(f"Poll message {'sent' if response.code == 200 else 'error'}")
85+
if response.code == 200:
86+
print("Poll message sent: ", response.data)
7887

7988
contact = {
8089
"phoneContact": 79001234567,
@@ -85,16 +94,18 @@ async def demo_sending_messages(self):
8594
self.test_chat,
8695
contact
8796
)
88-
print(f"Contact message {'sent' if response.code == 200 else 'error'}")
89-
90-
response = await self.greenAPI.sending.sendLocationAsync(
91-
self.test_chat,
92-
55.755826,
93-
37.617300,
94-
"Red Square,"
95-
"Moscow, Russia"
97+
if response.code == 200:
98+
print("Contact message sent: ", response.data)
99+
100+
response = await greenAPI.sending.sendLocationAsync(
101+
"79001234567@c.us",
102+
44.9370129,
103+
89.8728409,
104+
"Restaurant",
105+
"123456, Best Place"
96106
)
97-
print(f"Location message {'sent' if response.code == 200 else 'error'}")
107+
if response.code == 200:
108+
print("Location message sent: ", response.data)
98109

99110
async def demo_journals(self):
100111
response = await self.greenAPI.journals.lastIncomingMessagesAsync(minutes=1440)
@@ -115,13 +126,15 @@ async def demo_queues(self):
115126
await asyncio.sleep(5)
116127

117128
response = await self.greenAPI.queues.clearMessagesQueueAsync()
118-
print(f"Queue cleared: {'success' if response.code == 200 else 'error'}")
129+
if response.code == 200:
130+
print("Queue cleared: ", response.data)
119131

120132
async def main():
121133
demo = GreenAPIDemo()
122134
try:
123135
await demo.run_demo()
124136
except Exception as e:
125137
print(f"error: {e}")
138+
126139
if __name__ == '__main__':
127140
asyncio.run(main())

examples/async/receiveNotificationAsync.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ async def main():
1212

1313
try:
1414
await greenAPI.webhooks.startReceivingNotificationsAsync(handler)
15-
await stop_event.wait()
16-
await greenAPI.webhooks.stopReceivingNotificationsAsync()
17-
1815
except Exception as e:
1916
print(e)
2017

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
import asyncio
2+
import os
23
from whatsapp_api_client_python import API
34

45
greenAPI = API.GreenAPI(
56
"1101000001", "d75b3a66374942c5b3c019c698abc2067e151558acbd412345"
67
)
78

89
async def main():
9-
response = await greenAPI.sending.sendFileByUploadAsync(
10-
"11001234567@c.us",
11-
"data/logo.jpg",
12-
"logo.jpg",
13-
"Available rates"
14-
)
15-
print(response.data) if response.code == 200 else print(response.error)
10+
file_path = "data/logo.jpg"
11+
if not os.path.exists(file_path):
12+
print(f"File {file_path} not found")
13+
else:
14+
response = await greenAPI.sending.sendFileByUploadAsync(
15+
"11001234567@c.us",
16+
file_path,
17+
"logo.jpg",
18+
"logo"
19+
)
20+
if response.code == 200:
21+
print(response.data)
1622

1723
if __name__ == '__main__':
1824
asyncio.run(main())

0 commit comments

Comments
 (0)