|
@@ -1,6 +1,7 @@
|
|
|
import uvicorn
|
|
|
import fastapi
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
+from fastapi.responses import HTMLResponse
|
|
|
from linebot import LineBotApi, WebhookHandler
|
|
|
from linebot.models import (
|
|
|
MessageEvent, TextMessage, TextSendMessage, FollowEvent, TemplateSendMessage, ButtonsTemplate, URITemplateAction,
|
|
@@ -12,6 +13,7 @@ import qrcode
|
|
|
from PIL import Image
|
|
|
import base64, io
|
|
|
from random import randrange
|
|
|
+import models
|
|
|
|
|
|
app = fastapi.FastAPI()
|
|
|
|
|
@@ -27,13 +29,6 @@ app.add_middleware(
|
|
|
line_bot_api = LineBotApi("SJT7VPT4RMQFLcS27jQBy3FcC24gtDrkcwJWZ5Xzqesr5T78LOKudHEJzt0k3b2S7n4KPwf27J7DVz2c8NQ4plSaaQylEeB1cYrfejaE/RPG/lCIQBYe4iBTzo26s4i2PcmT89837per/lTyvhVIKAdB04t89/1O/w1cDnyilFU=")
|
|
|
handler = WebhookHandler("411ae3ef7e766739ed2c2c27b249d010")
|
|
|
|
|
|
-# db connect
|
|
|
-db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/arkcard?charset=utf8mb4')
|
|
|
-table = db['users']
|
|
|
-
|
|
|
-# var
|
|
|
-rand_num = str(randrange(99999))
|
|
|
-
|
|
|
# callback event
|
|
|
@app.post("/callback")
|
|
|
async def callback(request: fastapi.Request):
|
|
@@ -81,7 +76,12 @@ def receive(userid):
|
|
|
def handle_follow(event):
|
|
|
# get user id when follow
|
|
|
real_user_id = event.source.user_id
|
|
|
- # rand_num = randrange(999999)
|
|
|
+ rand_num = str(randrange(99999))
|
|
|
+ # db connect
|
|
|
+ db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/arkcard?charset=utf8mb4')
|
|
|
+ table = db['users']
|
|
|
+
|
|
|
+ print(rand_num)
|
|
|
user_id = event.source.user_id + rand_num
|
|
|
result = table.find_one(userid=real_user_id)
|
|
|
|
|
@@ -136,7 +136,6 @@ def handle_follow(event):
|
|
|
data = dict(userid=real_user_id, useraddress=user_address, base=result)
|
|
|
table.insert(data)
|
|
|
|
|
|
- print(" Follow event: " + event.source.user_id)
|
|
|
line_bot_api.reply_message(
|
|
|
event.reply_token,
|
|
|
TextSendMessage(text='歡迎加入好友'))
|
|
@@ -151,14 +150,14 @@ def message(event):
|
|
|
actions=[
|
|
|
URITemplateAction(
|
|
|
label='打開發送頁面',
|
|
|
- uri='https://api.ptt.cx:8228/collection/' + event.source.user_id),])
|
|
|
+ uri='http://ark.cards/collect.html?' + event.source.user_id),])
|
|
|
line_bot_api.reply_message(
|
|
|
event.reply_token,
|
|
|
TemplateSendMessage(
|
|
|
alt_text="Receive",
|
|
|
template=button_template_message))
|
|
|
|
|
|
- elif '我要接收' in event.message.text:
|
|
|
+ elif '我要接收' in event.message.text:
|
|
|
button_template_message = ButtonsTemplate(
|
|
|
title=' ',
|
|
|
text='點擊並打開接收頁面,即可分享接收地址給對方!',
|
|
@@ -185,6 +184,7 @@ def message(event):
|
|
|
TemplateSendMessage(
|
|
|
alt_text="Receive",
|
|
|
template=button_template_message))
|
|
|
+
|
|
|
else:
|
|
|
button_template_message = ButtonsTemplate(
|
|
|
title=' ',
|
|
@@ -199,5 +199,6 @@ def message(event):
|
|
|
alt_text="Receive",
|
|
|
template=button_template_message))
|
|
|
|
|
|
+
|
|
|
if __name__ == '__main__':
|
|
|
uvicorn.run("main:app", host="0.0.0.0", port=8228, reload=True)
|