@Elvira15

Как сделать закрытый Telegram бот?

Добрый вечер, есть телеграм бот и база данных в MySQL. В базе есть id, имя и фамилия нескольких пользователей. Как сделать, чтобы при нажатие на кнопку старт бот отвечал только тем пользователям, который есть в БД? Вот сама база
cursor.execute("CREATE TABLE Dostyp (Iduser INT, Firstname VARCHAR(30), Lastname VARCHAR(40), PRIMARY KEY (Iduser))")
sql="INSERT INTO Dostyp (Iduser, Firstname, Lastname) VALUES (%s,%s,%s)"
val=[
("858144890", "РЧИиыа", "Ротвоало"),
("1487241837", "Рирмраа", "Ртавоавдл"),

Вот реакция бота на команду /start
@bot.message_handler(commands=['start'])
def welcome(message):
    # keyboard
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton("Номер ветеринарной клиники")
    item2 = types.KeyboardButton("Провести консультацию")
 
    markup.add(item1, item2)
 
    bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nЯ - {1.first_name} бот, который поможет разобраться с самочувствием млекопитающих в вашем дельфинарии.".format(message.from_user, bot.get_me()),  reply_markup=markup)
  • Вопрос задан
  • 3833 просмотра
Решения вопроса 1
@o5a
def get_access_status(user_id):
    cursor.execute("SELECT 1 FROM Dostyp WHERE Iduser = %s", (user_id, ))
    return bool(cursor.fetchone())

# сам проверка в функции
@bot.message_handler(commands=['start'])
def welcome(message):
    if get_access_status(message.from_user.id):
        # доступ есть, продолжаем
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@gitdev
Open Telegram:
1. Open BotFather
2. /mybots
3. Bot Setting
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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