from data_save import *
import telebot
from telebot.handler_backends import StatesGroup, State
from telebot.storage import StateMemoryStorage
storage = StateMemoryStorage()
bot = telebot.TeleBot('фывфв')
class RegStates(StatesGroup):
StateStart = State()
StatePay = State()
StateSubscribed = State()
StateNoSubscribed = State()
StateWaiting = State()
@bot.message_handler(commands=['start'])
def start(message):
chat_id = message.chat.id
user_id = message.from_user.id
bot.set_state(user_id, RegStates.StateStart, chat_id)
bot.send_message(chat_id, f'Привет, {message.from_user.first_name}!\n/sup - оформить подписку\n/us - информация о нас')
@bot.message_handler(state = RegStates.StateStart, commands=['sup'])
def sup(message):
chat_id = message.chat.id
bot.send_message(chat_id, 'Оформить подписку')
@bot.message_handler(state = RegStates.StateStart, commands=['us'])
def us(message):
chat_id = message.chat.id
bot.send_message(chat_id, 'Информация о нас')
bot.polling(non_stop= True)
bot = telebot.TeleBot('TOKEN', state_storage=storage)
import telebot
from telebot import types
from telebot.states import State, StatesGroup
from telebot.states.sync.context import StateContext
from telebot.states.sync.middleware import StateMiddleware
from telebot.storage import StateMemoryStorage
from telebot.types import ReplyParameters
storage = StateMemoryStorage()
bot = telebot.TeleBot('TOKEN', state_storage=storage, use_class_middlewares=True)
class MyStates(StatesGroup):
START = State()
US = State()
SUP = State()
@bot.message_handler(commands=["start"])
def start(message: types.Message, state: StateContext):
state.set(MyStates.START)
bot.send_message(
message.chat.id,
f'Привет, {message.from_user.first_name}!\n/sup - оформить подписку\n/us - информация о нас',
reply_parameters=ReplyParameters(message_id=message.message_id),
)
@bot.message_handler(commands=["us"])
def us(message: types.Message, state: StateContext):
state.set(MyStates.US)
bot.send_message(
message.chat.id,
'Информация о нас',
reply_parameters=ReplyParameters(message_id=message.message_id),
)
@bot.message_handler(commands=["sup"])
def sup(message: types.Message, state: StateContext):
state.set(MyStates.SUP)
bot.send_message(
message.chat.id,
'Оформить подписку',
reply_parameters=ReplyParameters(message_id=message.message_id),
)
if __name__ == '__main__':
print('start')
bot.setup_middleware(StateMiddleware(bot))
bot.infinity_polling()
import telebot
from telebot import custom_filters, types
from telebot.states import State, StatesGroup
from telebot.states.sync.context import StateContext
from telebot.storage import StateMemoryStorage
from telebot.types import ReplyParameters
storage = StateMemoryStorage()
bot = telebot.TeleBot('TOKENN', state_storage=storage, use_class_middlewares=True)
class states(StatesGroup):
StateStart = State()
StatePay = State()
StateSubscribed = State()
StateNoSubscribed = State()
StateWaiting = State()
@bot.message_handler(commands=['start'])
def start(message: types.Message, state: StateContext):
chat_id = message.chat.id
user_id = message.from_user.id
state.set(states.StateStart)
bot.send_message(chat_id, f'Привет, {message.from_user.first_name}!\n/sup - оформить подписку\n/us - информация о нас')
@bot.message_handler(state = states.StateStart, commands=['sup'])
def sup(message: types.Message):
chat_id = message.chat.id
bot.send_message(chat_id, 'Оформить подписку')
@bot.message_handler(state = states.StateStart, commands=['us'])
def us(message: types.Message):
chat_id = message.chat.id
bot.send_message(chat_id, 'Информация о нас')
bot.add_custom_filter(custom_filters.StateFilter(bot))
# necessary for state parameter in handlers.
from telebot.states.sync.middleware import StateMiddleware
bot.setup_middleware(StateMiddleware(bot))
bot.polling(non_stop= True)