'
db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/hhh?charset=utf8mb4')
cursor=db.query('SELECT from_unixtime(eventtime) as dt,area FROM hhh.aws_monitor order by eventtime desc limit 30;')
for c in cursor:
result+="
"+str(c['dt'])+"
"+c['area']+"
\n"
result+='
'
return HTMLResponse(content=result, status_code=200)
@app.get("/msg/{item_id}")
async def coffee_msg(item_id):
True
line_bot_api.push_message(item_id, TextSendMessage(text='開啟下方完整券樣(密碼9888)至櫃台掃碼兌換。https://txp.rs/v/EvX69b4Xq9'))
return {"code":"ok" }
@app.post('/callback')
async def callback(request: fastapi.Request):
signature = request.headers['X-Line-Signature']
body = await request.body()
handler.handle(body.decode('utf-8'), signature)
return 'OK'
def get_news_by_kw(keyword):
googlenews = GoogleNews(lang='zh-TW')
kw=keyword
googlenews.set_lang('zh-TW')
googlenews.search(kw)
resultstr="新聞:"
idx=0
rs=googlenews.results()
for r in rs:
if idx>0:
resultstr+=','
else:
idx+=1
resultstr+=r['title']
return resultstr
# print(r['desc'])
# print(r['link'])
# print(r['datetime'])
def flex_test():
fname=os.path.abspath(__file__)
elmts=fname.split(os.path.sep)
path2=os.path.sep.join(elmts[0:-1])
keysdir=path2+os.path.sep
js=json.load(open(keysdir+'test.json','r',encoding='utf-8'))
return js
@handler.add(FollowEvent)
def handle_follow(event):
print(event.source.user_id)
# do something
@handler.add(linebotModels.MessageEvent, message=linebotModels.TextMessage)
def message_text(event):
global seo
global s_news
## if event.message.text == 'push':
# line_bot_api.push_message(
# event.source.user_id, [
# # TextSendMessage(text='PUSH!'),
# ]
# )
if event.message.text.lower() == 'flex':
FlexMessage = flex_test()
line_bot_api.reply_message(event.reply_token, FlexSendMessage('ChoozMo',FlexMessage))
return
if event.message.text.lower() == 's_news':
s_news=True
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text='請輸入要搜尋新聞的關鍵字:'))
return
if event.message.text == 'q_aws':
line_bot_api.reply_message(
event.reply_token,[TextSendMessage(text=get_aws()),TextSendMessage(text='完整報告: https://api.ptt.cx:5443/aws')])
return
if event.message.text == 'q_idea':
s_news=True
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=get_idea()))
return
if event.message.text.lower() == 'seo':
seo=True
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text='請輸入要找的關鍵字:'))
return
if event.message.text == '叫':
line_bot_api.reply_message(
event.reply_token, linebotModels.AudioSendMessage(
original_content_url=f'{baseUrl}/static/audio/noot_noot.mp3', duration=1000))
if event.message.text.lower()=='ok':
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text='最欣賞ChoozMo團隊說OK的人!!'))
if event.message.text=='c' or event.message.text=='C' :
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(
text='快速鍵',
quick_reply=QuickReply(
items=[
QuickReplyButton(
action=MessageAction(label="幸福空間靈感", text="q_idea")
),
QuickReplyButton(
action=MessageAction(label="查AWS", text="q_aws")
),
QuickReplyButton(
action=MessageAction(label="關聯字", text="seo")
),
])))
else:
if s_news:
result=get_news_by_kw(event.message.text)
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=result))
s_news=False
return
if seo:
res='相關字:'
s = suggests.suggests.get_suggests(event.message.text, source='google')
idx=0
for sg in s['suggests']:
if idx>0:
res+=','
else:
idx+=1
res+=sg
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=res))
seo=False
# print('test')
#if __name__ == "__main__":
# app.run(host='0.0.0.0', port=443,ssl_context=('/etc/letsencrypt/live/ptt.cx/fullchain.pem', '/etc/letsencrypt/live/ptt.cx/privkey.pem'))
# app.run(host='0.0.0.0', port=14404,ssl_context=('/tmp/cert.pem','/tmp/chain.pem' ))