Skip to content

Commit 1b38bfc

Browse files
tokuhirombe-hase
authored andcommitted
Add sample code to send image (#149)
1 parent 4216b3a commit 1b38bfc

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

examples/flask-kitchensink/app.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
import tempfile
2121
from argparse import ArgumentParser
2222

23-
from flask import Flask, request, abort
23+
from flask import Flask, request, abort, send_from_directory
24+
from werkzeug.middleware.proxy_fix import ProxyFix
2425

2526
from linebot import (
2627
LineBotApi, WebhookHandler
@@ -41,10 +42,11 @@
4142
UnfollowEvent, FollowEvent, JoinEvent, LeaveEvent, BeaconEvent,
4243
FlexSendMessage, BubbleContainer, ImageComponent, BoxComponent,
4344
TextComponent, SpacerComponent, IconComponent, ButtonComponent,
44-
SeparatorComponent, QuickReply, QuickReplyButton
45-
)
45+
SeparatorComponent, QuickReply, QuickReplyButton,
46+
ImageSendMessage)
4647

4748
app = Flask(__name__)
49+
app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_host=1, x_proto=1)
4850

4951
# get channel_secret and channel_access_token from your environment variable
5052
channel_secret = os.getenv('LINE_CHANNEL_SECRET', None)
@@ -126,6 +128,13 @@ def handle_text_message(event):
126128
line_bot_api.reply_message(
127129
event.reply_token,
128130
TextSendMessage(text="Bot can't leave from 1:1 chat"))
131+
elif text == 'image':
132+
url = request.url_root + '/static/logo.png'
133+
app.logger.info("url=" + url)
134+
line_bot_api.reply_message(
135+
event.reply_token,
136+
ImageSendMessage(url, url)
137+
)
129138
elif text == 'confirm':
130139
confirm_template = ConfirmTemplate(text='Do it?', actions=[
131140
MessageAction(label='Yes', text='Yes!'),
@@ -427,6 +436,11 @@ def handle_beacon(event):
427436
event.beacon.hwid, event.beacon.dm)))
428437

429438

439+
@app.route('/static/<path:path>')
440+
def send_static_content(path):
441+
return send_from_directory('static', path)
442+
443+
430444
if __name__ == "__main__":
431445
arg_parser = ArgumentParser(
432446
usage='Usage: python ' + __file__ + ' [--port <port>] [--help]'
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
line-bot-sdk
2-
flask
2+
flask
3+
werkzeug

0 commit comments

Comments
 (0)