-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
88 lines (70 loc) · 3.68 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import telebot
# Создание экземпляра бота
bot = telebot.TeleBot('YOUR_BOT_TOKEN')
# Словарь для хранения пользователей и их профилей
users = {}
# Обработчик команды /start
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, 'Привет! Добро пожаловать в бота для знакомств!')
# Обработчик команды /like
@bot.message_handler(commands=['like'])
def like(message):
user_id = message.chat.id
if user_id not in users:
bot.send_message(user_id, 'Для начала загрузите свое фото с помощью команды /upload_photo')
return
# Получение пользователя и его профиля
user = users[user_id]
if user['liked']:
# Если лайки совпадают, отправить сообщение
bot.send_message(user_id, 'Ваши лайки совпадают! Теперь вы можете писать друг другу.')
# Обработчик команды /upload_photo
@bot.message_handler(commands=['upload_photo'])
def upload_photo(message):
user_id = message.chat.id
if user_id not in users:
users[user_id] = {'photo': None, 'liked': False, 'info': None}
bot.send_message(user_id, 'Пожалуйста, загрузите фото.')
# Обработчик команды /edit_info
@bot.message_handler(commands=['edit_info'])
def edit_info(message):
user_id = message.chat.id
if user_id not in users:
bot.send_message(user_id, 'Для начала загрузите свое фото с помощью команды /upload_photo')
return
bot.send_message(user_id, 'Пожалуйста, введите новую информацию о себе.')
bot.register_next_step_handler(message, process_info)
# Обработчик введенной информации
def process_info(message):
user_id = message.chat.id
if user_id not in users:
bot.send_message(user_id, 'Для начала загрузите свое фото с помощью команды /upload_photo')
return
# Получение пользователя и обновление информации
user = users[user_id]
info = message.text
user['info'] = info
bot.send_message(user_id, 'Информация обновлена!')
# Обработчик сообщений с фото
@bot.message_handler(content_types=['photo'])
def handle_photo(message):
user_id = message.chat.id
if user_id not in users:
bot.send_message(user_id, 'Для начала загрузите свое фото с помощью команды /upload_photo')
return
# Получение пользователя и сохранение фото
user = users[user_id]
photo = message.photo[-1].file_id
user['photo'] = photo
bot.send_message(user_id, 'Фото сохранено! Теперь вы можете использовать команду /like для поиска совпадений.')
# Обработчик сообщений
@bot.message_handler(func=lambda message: True)
def handle_message(message):
user_id = message.chat.id
if user_id not in users:
bot.send_message(user_id, 'Для начала загрузите свое фото с помощью команды /upload_photo')
return
bot.send_message(user_id, 'Неизвестная команда. Пожалуйста, используйте команды /start, /upload_photo, /edit_info или /like.')
# Запуск бота
bot.polling()