from flask import Flask, request, render_template_string, jsonify from flask import render_template import sqlite3 import os import unittest from whatsapp_api_webhook_server_python.webhooksHandler import startServer app = Flask(__name__, template_folder="./") # Создание базы данных и таблицы def init_db(): try: conn = sqlite3.connect('data.db') cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS contacts ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, phone TEXT NOT NULL, email TEXT NOT NULL ) ''') conn.commit() conn.close() except Exception as e: print(f"Error initializing database: {e}") # Вызов функции для инициализации базы данных init_db() @app.route('/settings', methods=['GET']) def settings(): return render_template('settings.html') @app.route('/online', methods=['GET']) def onli(): return render_template('online.html') @app.route('/ver', methods=['GET']) def veref(): return render_template('ver.html') @app.route('/se_mes', methods=['GET']) def se_mes(): return render_template('se_mes.html') @app.route('/se_mes_im', methods=['GET']) def se_mes_im(): return render_template('se_mes_im.html') # Маршрут для обработки GET-запроса @app.route('/add_contact', methods=['GET']) def add_contact(): try: name = request.args.get('name') phone = request.args.get('phone') email = request.args.get('email') if not name or not phone or not email: return "Parameters 'name', 'phone', and 'email' are required.", 400 conn = sqlite3.connect('data.db') cursor = conn.cursor() cursor.execute('INSERT INTO contacts (name, phone, email) VALUES (?, ?, ?)', (name, phone, email)) conn.commit() conn.close() return f"Contact added: {name} - {phone} - {email}", 200 except Exception as e: print(f"Error adding contact: {e}") return "Internal Server Error", 500 # Маршрут для отображения таблицы контактов @app.route('/contacts') def show_contacts(): try: conn = sqlite3.connect('data.db') cursor = conn.cursor() cursor.execute('SELECT name, phone, email FROM contacts') contacts = cursor.fetchall() conn.close() # HTML-шаблон для отображения таблицы html = ''' Contacts

Contacts

{% for contact in contacts %} {% endfor %}
Name Phone Email
{{ contact[0] }} {{ contact[1] }} {{ contact[2] }}
''' return render_template_string(html, contacts=contacts) except Exception as e: print(f"Error showing contacts: {e}") return "Internal Server Error", 500 if __name__ == '__main__': app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))