DmitrMakeev commited on
Commit
f473aea
·
verified ·
1 Parent(s): 7b226b1

Update webhook_handler.py

Browse files
Files changed (1) hide show
  1. webhook_handler.py +32 -1
webhook_handler.py CHANGED
@@ -2,7 +2,9 @@
2
 
3
  # webhook_handler.py
4
 
5
- def handle_webhook(data, key_callback_vk):
 
 
6
  # Проверяем тип события
7
  if data['type'] == 'confirmation':
8
  # Возвращаем подтверждение
@@ -13,6 +15,25 @@ def handle_webhook(data, key_callback_vk):
13
  user_id = data['object']['user_id']
14
  group_id = data['group_id']
15
  print(f"User {user_id} subscribed to the mailing list of group {group_id}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  return 'ok'
17
 
18
  # Обработка события отписки от рассылки
@@ -20,6 +41,16 @@ def handle_webhook(data, key_callback_vk):
20
  user_id = data['object']['user_id']
21
  group_id = data['group_id']
22
  print(f"User {user_id} unsubscribed from the mailing list of group {group_id}")
 
 
 
 
 
 
 
 
 
 
23
  return 'ok'
24
 
25
  # Если тип события неизвестен, возвращаем ошибку
 
2
 
3
  # webhook_handler.py
4
 
5
+ import sqlite3
6
+
7
+ def handle_webhook(data, key_callback_vk, db_name):
8
  # Проверяем тип события
9
  if data['type'] == 'confirmation':
10
  # Возвращаем подтверждение
 
15
  user_id = data['object']['user_id']
16
  group_id = data['group_id']
17
  print(f"User {user_id} subscribed to the mailing list of group {group_id}")
18
+
19
+ # Записываем информацию о подписке в базу данных
20
+ conn = sqlite3.connect(db_name)
21
+ cursor = conn.cursor()
22
+
23
+ # Проверяем, существует ли запись для данного пользователя
24
+ cursor.execute("SELECT * FROM contacts WHERE vk_id = ?", (user_id,))
25
+ result = cursor.fetchone()
26
+
27
+ if result:
28
+ # Обновляем запись, если пользователь уже существует
29
+ cursor.execute("UPDATE contacts SET canal = 1 WHERE vk_id = ?", (user_id,))
30
+ else:
31
+ # Создаем новую запись, если пользователь не существует
32
+ cursor.execute("INSERT INTO contacts (vk_id, canal) VALUES (?, 1)", (user_id,))
33
+
34
+ conn.commit()
35
+ conn.close()
36
+
37
  return 'ok'
38
 
39
  # Обработка события отписки от рассылки
 
41
  user_id = data['object']['user_id']
42
  group_id = data['group_id']
43
  print(f"User {user_id} unsubscribed from the mailing list of group {group_id}")
44
+
45
+ # Удаляем информацию о подписке из базы данных
46
+ conn = sqlite3.connect(db_name)
47
+ cursor = conn.cursor()
48
+
49
+ cursor.execute("UPDATE contacts SET canal = NULL WHERE vk_id = ?", (user_id,))
50
+
51
+ conn.commit()
52
+ conn.close()
53
+
54
  return 'ok'
55
 
56
  # Если тип события неизвестен, возвращаем ошибку