Guest User

/app.py

a guest
Mar 24th, 2024
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. import requests
  2. import time
  3. import threading
  4. from flask import Flask, render_template
  5. from flask import jsonify, request
  6.  
  7. app = Flask(__name__)
  8.  
  9. # 전역 변수 초기화
  10. youtube_video_id_global = None
  11. youtube_old_global = None
  12. youtube_new_global = None
  13.  
  14. def get_youtube_video_id():
  15. global youtube_video_id_global
  16. global youtube_old_global
  17. global youtube_new_global
  18.  
  19.  
  20. #이 부분에 대해선 나에게 묻지마. chatGPT가 해줬다.
  21. while True:
  22. try:
  23. # 헤더를 추가하여 botrix.live API에 GET 요청을 보냅니다.
  24. headers = {'Cookie': 'PHP세션아이디 넣으셈',
  25. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'}
  26. response = requests.get('https://botrix.live/api/songrequest/queue', headers=headers)
  27. data = response.json()
  28. # 응답 데이터에서 첫 번째 동영상 ID 추출
  29. youtube_video_id = data[0].get('video_id') if data else None
  30.  
  31. # 이전 값 업데이트
  32. youtube_old_global = youtube_new_global
  33. # 새로운 값 업데이트
  34. youtube_new_global = youtube_video_id
  35.  
  36. # 전역 변수 업데이트
  37. youtube_video_id_global = youtube_video_id
  38. print(youtube_video_id_global)
  39. except Exception as e:
  40. print("Error occurred:", e)
  41. time.sleep(1) # 10초마다 요청을 보냅니다.
  42.  
  43. @app.route('/')
  44. def index():
  45. return render_template('index.html', youtube_video_ids=youtube_video_id_global)
  46.  
  47. @app.route('/check_data')
  48. def check_data():
  49. # 특정 조건을 확인하고, 조건이 충족되면 새로운 데이터를 생성하여 반환
  50. if youtube_old_global != youtube_new_global: # 조건이 충족되는지 여부에 따라 조건을 설정해야 합니다.
  51. print("비상!!!!!")
  52. return jsonify({'data': 'shangus'})
  53. else:
  54. return jsonify({'data': None}) # 조건이 충족되지 않으면 데이터를 반환하지 않음
  55.  
  56. @app.route('/delete_video', methods=['GET'])
  57. def delete_video():
  58. print("예아!")
  59. delete_url = f'https://botrix.live/api/songrequest/delete?id={youtube_video_id_global}'
  60.  
  61. headers = {'Cookie': 'PHP세션아이디 넣으셈',
  62. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0'}
  63.  
  64. response = requests.delete(delete_url, headers=headers)
  65.  
  66. return jsonify(response.text)
  67.  
  68. if __name__ == '__main__':
  69. # YouTube 동영상 ID를 가져오는 함수를 백그라운드 스레드로 실행합니다.
  70. youtube_thread = threading.Thread(target=get_youtube_video_id)
  71. youtube_thread.daemon = True
  72. youtube_thread.start()
  73.  
  74. # Flask 애플리케이션을 실행합니다.
  75. app.run(debug=True)
  76.  
Advertisement
Add Comment
Please, Sign In to add comment