Ответы пользователя по тегу SQLite
  • Как заставить бота искать в базе SQLite и выдавать ответ в чат?

    WhiteMarlin
    @WhiteMarlin
    import telebot
    import config
    import sqlite3
    
    
    bot = telebot.TeleBot(config.TOKEN)
    conn = sqlite3.connect('shops.db')
    
    def get_row(text):
        cur = conn.cursor()
        data = cur.execute("SELECT about FROM data WHERE shop = ?", (text,)).fetchone()
        cur.close()
        return data
    
    @bot.message_handler(commands=['start'])
    def message(message):
        bot.send_message(message.chat.id, f"Привет, {message.chat.first_name}!")
        
    
    @bot.message_handler(func=lambda message: True)
    def send_data(message)
        data = get_row(message.text) # text - по которому выбираете запись в db
        bot.reply_to(message.chat.id, data[0]) # 0 индекс столбца, обычно 0 - это id. Замените на нужный индекс столбика
    
    bot.polling(none_stop=True)

    Вообще-то так никто не делает, это плохая затея. Вам нужно изучить SQL и безопасность. Но в качестве примера, как делать выборку из базы и отправлять в чат-бот - сойдет.
    Ответ написан
    5 комментариев