Подключил sqlite3, данные про id получаю в таблице, нужно чтобы при нажатии кнопки принять сообщение отправлялось пользователю. Вот код с подключённым sqlite import sqlite3
import sqlite3
import telebot
from telebot import types
token='***************'
bot=telebot.TeleBot(token)
conn = sqlite3.connect('/Users/User/PycharmProjects/pythonProject3/.venv/db/database', check_same_thread=False)
cursor = conn.cursor()
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == 'menu1':
markup = types.InlineKeyboardMarkup()
switch_button3 = types.InlineKeyboardButton(text='fragolino', callback_data="menu4")
markup.add(switch_button3)
switch_button4 = types.InlineKeyboardButton(text='fragolino2', callback_data="menu4")
markup.add(switch_button4)
switch_button5 = types.InlineKeyboardButton(text='fragolino3', callback_data="menu4")
markup.add(switch_button5)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="выбери товар", reply_markup = markup)
if call.data == 'oper':
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
text="Наш оператор @fluacyl, оступен с 8:00-23:00")
if call.data == 'menu4':
markup = types.InlineKeyboardMarkup()
switch_button3 = types.InlineKeyboardButton(text='btc', callback_data="menu5")
markup.add(switch_button3)
switch_button4 = types.InlineKeyboardButton(text='efr', callback_data="menu6")
markup.add(switch_button4)
switch_button5 = types.InlineKeyboardButton(text='natyra_axax', callback_data="menu7")
markup.add(switch_button5)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="выбери оплату", reply_markup = markup)
if call.data == 'menu5':
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
text="Кошелек для оплаты:27589564, после оплаты подтверди /test")
if call.data == 'menu6':
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
text="Кошелек для оплаты:65484116, после оплаты подтверди /test")
if call.data == 'menu7':
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
text="Кошелек для оплаты:87645484, после оплаты подтверди /test")
if call.message.chat.type == "group":
if call.message:
if call.data == 'menu12':
bot.send_message(chat_id=root, text="Успешно ")
root= ВОПРОС ЗДЕСЬ
@bot.message_handler(commands=['test'])
def start(message: types.Message):
bot.send_message(message.chat.id, text="Данныйе оплаты формат ДД.ММ.ГГГГ, сума")
bot.register_next_step_handler(message, get_name)
def get_name(message: types.Message):
markup = types.InlineKeyboardMarkup()
switch_button12 = types.InlineKeyboardButton(text='Принять', callback_data="menu12")
markup.add(switch_button12)
switch_button13 = types.InlineKeyboardButton(text='Отклонить', callback_data="menu13")
markup.add(switch_button13)
bot.forward_message(chat_id=-4515258659, from_chat_id=message.chat.id, message_id=message.message_id)
bot.send_message(chat_id=-4515258659, text=f"{message.text} Введите ид пользователя", reply_markup=markup)
@bot.callback_query_handler(func=lambda call: call.data.startswith("menu12"))
def handle_from_admin(call: types.CallbackQuery):
bot.answer_callback_query(callback_query_id=call.id)
if call.message.chat.type == "group":
if call.message:
if call.data == 'menu12':
bot.send_message(chat_id=call.message.chat.id, text="jf")
def db_table_val(user_id: int, user_name: str, user_surname: str, username: str):
cursor.execute('REPLACE INTO test (user_id, user_name, user_surname, username) VALUES (?, ?, ?, ?)', (user_id, user_name, user_surname, username))
conn.commit()
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
if message.text.lower() == 'привет':
bot.send_message(message.from_user.id , 'Привет! Ваше имя добавленно в базу данных!')
us_id = message.from_user.id
us_name = message.from_user.first_name
us_sname = message.from_user.last_name
username = message.from_user.username
db_table_val(user_id=us_id, user_name=us_name, user_surname=us_sname, username=username)
bot.infinity_polling(none_stop=True,interval=0)
Пробовал выносить но сразу выдаёт ошибку