Не понимаю как можно реализовать запись в бд после нажатия определённой кнопки. Вообще вроде-бы что-то вышло, но проблема в том что записывается все сообщения вводимые пользователем, а мне надо именно после этой кнопки.
Вот код:
import sqlite3
import telebot
from telebot import types
db = sqlite3.connect('database.db', check_same_thread = False)
cursor = db.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS database (
user_id INTEGER PRIMARY KEY NOT NULL,
name TEXT,
story TEXT
)''')
db.commit()
token = '1563349957:AAHZeyJrQteHs18UT5hYKU'
bot = telebot.TeleBot(token)
menu = types.ReplyKeyboardMarkup(True, True)
menu.add(telebot.types.InlineKeyboardButton(text='Story'))
@bot.message_handler(commands = ['start'])
def start(message):
cursor.execute(f'INSERT INTO database (user_id, name) VALUES ({message.from_user.id}, {message.from_user.first_name})')
db.commit()
bot.send_message(message.chat.id, text=u'Привет, чтобы рассказать иторию нажми кнопку ниже', reply_markup=menu)
@bot.message_handler(content_types = ['text'])
def messages(message):
if message.text == 'Story':
bot.send_message(message.chat.id, text=u'Напиши свою историю сюда')
if message.text == 'Напиши свою историю сюда?':
text = message.text
cursor.execute(f'UPDATE database SET story = "{text}" WHERE user_id = "{message.from_user.id}"')
db.commit()
bot.polling()