@Privet123

Как с помощью библиотеки pyTelegramBotAPI сделать два ответа на вопрос бота?

Я хочу сделать так:
-/start
-Придумайте логин
-user1
-Придумайте пароль
-qwerty123
-Вы успешно зарегистрировались!


У меня не получается сделать так, чтобы после того как я написал логин бот спрашивал пароль и у меня не получается это записать в переменные. Как это осуществить?

Вот код:
import telebot
import config
import sqlite3

bot = telebot.TeleBot(config.TOKEN)

db = sqlite3.connect('bot_db')
cursor = db.cursor()

cursor.execute("""CREATE TABLE IF NOT EXISTS users(
		login text,
		password text
	)""")

db.commit()

@bot.message_handler(commands=['start'])
# тут должен быть код, который я не понял как делать

def reg(message):
	cursor.execute(f"SELECT login FROM users WHEN login = '{login(message)}'")
	if cursor.fetchone() is None:
		cursor.execute("INSERT INTO users VALUES (?, ?)", (login(message), password(message)))
		db.commit()

		bot.send_message(message.chat.id, 'Вы успешно зарегистрированы!')
	else:
		bot.send_message(message.chat.id, 'Такой пользователь уже существует!')

bot.polling(none_stop=True)
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
@Romeo558
Продолжающий программист на python.
import telebot
import config
import sqlite3

bot = telebot.TeleBot(config.TOKEN)

db = sqlite3.connect('bot_db')
cursor = db.cursor()

cursor.execute("""CREATE TABLE IF NOT EXISTS users(
    login text,
    password text
  )""")

db.commit()

@bot.message_handler(commands=['start'])
    msg = bot.send_message(message.chat.id, "Ок,  придумайте логин") #Что то типа заготовки.
    bot.register_next_step_handler(msg, reg)

def reg(message):
   login = message.text
   msg = bot.send_message(message.chat.id, "Придумайте пароль")
   bot.register_next_step_handler(msg, pass_reg)
#  cursor.execute(f"SELECT login FROM users WHEN login = '{login(message)}'")
#  if cursor.fetchone() is None:
#    cursor.execute("INSERT INTO users VALUES (?, ?)", (login(message), password(message)))
#    db.commit()
#
#    bot.send_message(message.chat.id, 'Вы успешно зарегистрированы!')
#  else:
 #   bot.send_message(message.chat.id, 'Такой пользователь уже существует!')
def pass_reg(message):
   password = message.text
   bot.send_message(message.chat.id, "Вы успешно авторизованы!")
bot.polling(none_stop=True)

То есть нужно было добавить register_next_step_handler и добавить начальное сообщение
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы