@bot.message_handler(content_types=['text'])
def menu_two_step(message):
if message.text.lower() == 'анкета 1':
null_anketa_step(message)
if message.text.lower() == 'анкета 2':
null_anketass_step(message)
Cycle_a.init_bot(bot)
import Config
from Cycle_a import init_bot as init_second
import Cycle_b #Пока не использую
bot = telebot.TeleBot(Config.Token_Bot)
def menu_step(message):
markup = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
markup.add('Анкета 1', 'Анкета 2')
markup.add('Обратная связь')
bot.send_message(message.chat.id, 'Выбери ниже', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def menu_two_step(message):
if message.text.lower() == 'анкета 1':
init_second(bot)
if message.text.lower() == 'анкета 2':
null_anketass_step(message)
if __name__=='__main__':
bot.polling(none_stop=True)
import telebot
from telebot import types
import sqlite3
from Config import Group_id
bot = telebot.TeleBot(Config.Token_Bot) #Норм, что он остаётся?
user_data = {}
class User:
def __init__(self, datas):
self.datas = datas
self.datass = ''
conn = sqlite3.connect('DataBase.db', check_same_thread=False)
cursor = conn.cursor()
def db_table_val(user_id: int, dataone: str, datatwo: str):
cursor.execute('INSERT INTO datatable (user_id, dataone, datatwo) VALUES (?, ?, ?)', (user_id, dataone, datatwo))
conn.commit()
@bot.message_handler(commands=['anketaone'])
def null_anketa_step(message):
msg = bot.send_message(message.chat.id, "Введите данные №1")
bot.register_next_step_handler(msg, process_one_step)
@bot.message_handler(commands=['ss'])
def process_one_step(message):
try:
user_id = message.from_user.id
user_data[user_id] = User(message.text)
msg = bot.send_message(message.chat.id, 'Введите данные №2')
bot.register_next_step_handler(msg, process_two_step)
except Exception as e:
bot.send_message(message.chat.id, 'Ошибка')
def process_two_step(message):
try:
user_id = message.from_user.id
user = user_data[user_id]
user_data[user_id] = User(message.text)
db_table_val(user_id=user_id, dataone=user.datas, datatwo=user.datass)
bot.send_message(message.chat.id, 'Вы успешно ввели все данные')
except Exception as e:
bot.send_message(message.chat.id, 'Ошибка')
bot.send_message(Group_id, 'У вас новая анкета!')
def init_bot(bot): #Ваше предложение
bot.message_handler(commands=['anketaone']) (null_anketa_step)
bot.message_handler(commands=['ss']) (process_one_step) #Можно же без хэндлера?
#И как я понимаю тут я вызываю все функции по очереди?
if __name__=='__main__': #Без данного условия вообще не запускается
bot.polling(none_stop=True)