|
|
|
|
|
|
|
|
|
import sqlite3 |
|
|
|
def handle_webhook(data, key_callback_vk, db_name): |
|
|
|
if data['type'] == 'confirmation': |
|
|
|
return key_callback_vk |
|
|
|
|
|
if data['type'] == 'message_allow': |
|
user_id = data['object']['user_id'] |
|
group_id = data['group_id'] |
|
print(f"User {user_id} subscribed to the mailing list of group {group_id}") |
|
|
|
|
|
conn = sqlite3.connect(db_name) |
|
cursor = conn.cursor() |
|
|
|
|
|
cursor.execute("SELECT * FROM contacts WHERE vk_id = ?", (user_id,)) |
|
result = cursor.fetchone() |
|
|
|
if result: |
|
|
|
cursor.execute("UPDATE contacts SET canal = 1 WHERE vk_id = ?", (user_id,)) |
|
else: |
|
|
|
cursor.execute("INSERT INTO contacts (vk_id, canal) VALUES (?, 1)", (user_id,)) |
|
|
|
conn.commit() |
|
conn.close() |
|
|
|
return 'ok' |
|
|
|
|
|
if data['type'] == 'message_deny': |
|
user_id = data['object']['user_id'] |
|
group_id = data['group_id'] |
|
print(f"User {user_id} unsubscribed from the mailing list of group {group_id}") |
|
|
|
|
|
conn = sqlite3.connect(db_name) |
|
cursor = conn.cursor() |
|
|
|
cursor.execute("UPDATE contacts SET canal = NULL WHERE vk_id = ?", (user_id,)) |
|
|
|
conn.commit() |
|
conn.close() |
|
|
|
return 'ok' |
|
|
|
|
|
return 'unknown event', 400 |