Skip to content

Commit 4d9525c

Browse files
committed
Use unified client in examples
1 parent dbbde11 commit 4d9525c

File tree

7 files changed

+604
-693
lines changed

7 files changed

+604
-693
lines changed

examples/aiohttp-echo/app.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@
2424
from aiohttp.web_runner import TCPSite
2525

2626
from linebot.v3 import (
27-
WebhookParser
27+
WebhookParser,
28+
AsyncLineBotClient,
2829
)
2930
from linebot.v3.messaging import (
30-
Configuration,
31-
AsyncApiClient,
32-
AsyncMessagingApi,
3331
TextMessage,
3432
ReplyMessageRequest
3533
)
@@ -52,13 +50,8 @@
5250
print('Specify LINE_CHANNEL_ACCESS_TOKEN as environment variable.')
5351
sys.exit(1)
5452

55-
configuration = Configuration(
56-
access_token=channel_access_token
57-
)
58-
59-
6053
class Handler:
61-
def __init__(self, line_bot_api: AsyncMessagingApi, parser: WebhookParser):
54+
def __init__(self, line_bot_api: AsyncLineBotClient, parser: WebhookParser):
6255
self.line_bot_api = line_bot_api
6356
self.parser = parser
6457

@@ -87,8 +80,7 @@ async def echo(self, request):
8780

8881

8982
async def main(port=8000):
90-
async_api_client = AsyncApiClient(configuration)
91-
line_bot_api = AsyncMessagingApi(async_api_client)
83+
line_bot_api = AsyncLineBotClient(channel_access_token=channel_access_token)
9284
parser = WebhookParser(channel_secret)
9385

9486
handler = Handler(line_bot_api, parser)

examples/fastapi-echo/main.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,8 @@
1717

1818
from fastapi import Request, FastAPI, HTTPException
1919

20-
from linebot.v3.webhook import WebhookParser
20+
from linebot.v3 import WebhookParser, AsyncLineBotClient
2121
from linebot.v3.messaging import (
22-
AsyncApiClient,
23-
AsyncMessagingApi,
24-
Configuration,
2522
ReplyMessageRequest,
2623
TextMessage
2724
)
@@ -44,13 +41,8 @@
4441
print('Specify LINE_CHANNEL_ACCESS_TOKEN as environment variable.')
4542
sys.exit(1)
4643

47-
configuration = Configuration(
48-
access_token=channel_access_token
49-
)
50-
5144
app = FastAPI()
52-
async_api_client = AsyncApiClient(configuration)
53-
line_bot_api = AsyncMessagingApi(async_api_client)
45+
line_bot_api = AsyncLineBotClient(channel_access_token=channel_access_token)
5446
parser = WebhookParser(channel_secret)
5547

5648

examples/flask-echo/app.py

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818
from argparse import ArgumentParser
1919

2020
from flask import Flask, request, abort
21-
from linebot import (
22-
WebhookParser
21+
from linebot.v3 import (
22+
WebhookParser,
23+
LineBotClient,
2324
)
2425
from linebot.v3.exceptions import (
2526
InvalidSignatureError
@@ -29,9 +30,6 @@
2930
TextMessageContent,
3031
)
3132
from linebot.v3.messaging import (
32-
Configuration,
33-
ApiClient,
34-
MessagingApi,
3533
ReplyMessageRequest,
3634
TextMessage
3735
)
@@ -49,10 +47,7 @@
4947
sys.exit(1)
5048

5149
parser = WebhookParser(channel_secret)
52-
53-
configuration = Configuration(
54-
access_token=channel_access_token
55-
)
50+
line_bot_api = LineBotClient(channel_access_token=channel_access_token)
5651

5752

5853
@app.route("/callback", methods=['POST'])
@@ -75,14 +70,12 @@ def callback():
7570
continue
7671
if not isinstance(event.message, TextMessageContent):
7772
continue
78-
with ApiClient(configuration) as api_client:
79-
line_bot_api = MessagingApi(api_client)
80-
line_bot_api.reply_message_with_http_info(
81-
ReplyMessageRequest(
82-
reply_token=event.reply_token,
83-
messages=[TextMessage(text=event.message.text)]
84-
)
73+
line_bot_api.reply_message_with_http_info(
74+
ReplyMessageRequest(
75+
reply_token=event.reply_token,
76+
messages=[TextMessage(text=event.message.text)]
8577
)
78+
)
8679

8780
return 'OK'
8881

examples/flask-echo/app_with_handler.py

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818

1919
from flask import Flask, request, abort
2020
from linebot.v3 import (
21-
WebhookHandler
21+
WebhookHandler,
22+
LineBotClient,
2223
)
2324
from linebot.v3.exceptions import (
2425
InvalidSignatureError
@@ -28,9 +29,6 @@
2829
TextMessageContent,
2930
)
3031
from linebot.v3.messaging import (
31-
Configuration,
32-
ApiClient,
33-
MessagingApi,
3432
ReplyMessageRequest,
3533
TextMessage
3634
)
@@ -48,10 +46,7 @@
4846
sys.exit(1)
4947

5048
handler = WebhookHandler(channel_secret)
51-
52-
configuration = Configuration(
53-
access_token=channel_access_token
54-
)
49+
line_bot_api = LineBotClient(channel_access_token=channel_access_token)
5550

5651

5752
@app.route("/callback", methods=['POST'])
@@ -74,14 +69,12 @@ def callback():
7469

7570
@handler.add(MessageEvent, message=TextMessageContent)
7671
def message_text(event):
77-
with ApiClient(configuration) as api_client:
78-
line_bot_api = MessagingApi(api_client)
79-
line_bot_api.reply_message_with_http_info(
80-
ReplyMessageRequest(
81-
reply_token=event.reply_token,
82-
messages=[TextMessage(text=event.message.text)]
83-
)
72+
line_bot_api.reply_message_with_http_info(
73+
ReplyMessageRequest(
74+
reply_token=event.reply_token,
75+
messages=[TextMessage(text=event.message.text)]
8476
)
77+
)
8578

8679

8780
if __name__ == "__main__":

0 commit comments

Comments
 (0)