@app.route("/callback/notify", methods=['GET']) def callback_nofity(): #assert request.headers['referer'] == 'https://notify-bot.line.me/' code = request.args.get('code') state = request.args.get('state') # Get Access-Token client_id = os.environ['NOTIFY_CLIENT_ID'] access_token = get_token(code, client_id, client_secret, redirect_uri) google_sheet(access_token) send_message(access_token,text_message="你好") #發訊息 return '恭喜完成 LINE Notify 連動!請關閉此視窗。' |
@handler.add(MessageEvent, message=TextMessage) #監聽當有新訊息時 def handle_message(event): global Group_id , User_id if event.message.text == "個人訂閱" : url = create_auth_link(event) #回傳 url 給傳訊息的那 個人 or 群組 line_bot_api.reply_message(event.reply_token,TextSendMessage(text=url) ) #這邊是利用 event 內的 user_id 去跟 Line 拿到使用者的當前 Line 使用的名子 Ex: Zi-Yu(林子育) User_id = line_bot_api.get_profile(event.source.user_id).display_name Group_id = '' elif event.message.text == "群組訂閱" : url = create_auth_link(event) line_bot_api.reply_message(event.reply_token,TextSendMessage(text=url) ) #因為 event 內只會回傳個人訊息所以無法找到 Group 的名稱,所以只能改拿 Group 的 id Group_id = (event.source.group_id) #Group_id get! User_id = '' |
#利用notify發出訊息 #==============================================================================================# def send_message(access_token, text_message): url = 'https://notify-api.line.me/api/notify' headers = {"Authorization": "Bearer "+ access_token} data = {'message': text_message} data = urllib.parse.urlencode(data).encode() req = urllib.request.Request(url, data=data, headers=headers) page = urllib.request.urlopen(req).read() #==============================================================================================# main: send_message(access_token, text_message) |
from apscheduler.schedulers.blocking import BlockingScheduler from linebot import LineBotApi from linebot.models import TextSendMessage import urllib.request sched = BlockingScheduler() #利用notify發出訊息 def send_message(access_token, text_message): url = 'https://notify-api.line.me/api/notify' headers = {"Authorization": "Bearer "+ access_token} data = {'message': text_message} data = urllib.parse.urlencode(data).encode() req = urllib.request.Request(url, data=data, headers=headers) page = urllib.request.urlopen(req).read() #定時去搓url讓服務不中斷 @sched.scheduled_job('cron', day_of_week='mon-sun', minute='*/25') def scheduled_job(): url = "https://<Your Heroku App Name>.herokuapp.com/" conn = urllib.request.urlopen(url) for key, value in conn.getheaders(): print(key, value) print("戳一下") |
CTF (2)
└Misc (3)
└Crypto (6)
└Revers (0)
└Pwn (0)
└Web (1)
└picoCTF 2018 (48)
└AIS3 2020 pre-exam (2)
Telegraf/Prometheus/Grafana (1)
未分類 (3)Lobster0627 給 全體巴友:
大家可以多多來我的YT頻道看看哦(*´∀`)~♥https://www.youtube.com/@lobstersandwich看更多我要大聲說昨天18:56