async def set_state(peer_id, lvl):
states = {
2: func.Data.SecondLvl,
3: func.Data.ThirdLvl,
4: func.Data.FourthLvl,
5: func.Data.FifthLvl,
6: func.Data.SixthLvl,
7: func.Data.SeventhLvl
}
await bot.state_dispenser.set(peer_id, states[lvl])
@bot.on.private_message(payload = {"cmd":"yeslvlup"})
async def yeslvlup(message: Message):
lvl = 1+base.output_lvl(message.peer_id)
base.input_lvl(message.peer_id,lvl)
await set_state(message.peer_id, lvl)
await message.text(
"Уровень повышен",
keyboard = Keyboard(one_time = True)
.add(Text("Продолжить"), color = KeyboardButtonColor.PRIMARY)
)
@bot.message_handler(func=lambda message: message.text=='Привет')
def privet(message):
user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
user_markup.row('Чат с работами', 'Показать новости')
user_markup.row('Оставить заявку на выполнение работы')
bot.send_message(message.from_user.id, "Выбери, что ты хочешь сделать.", reply_markup=user_markup)
@bot.message_handler(func=lambda message: message.text=='Чат с работами')
def chat_with_works(message):
markup = types.InlineKeyboardMarkup()
btn_my_site = types.InlineKeyboardButton(text='Чат с работами', url='https://t.me/AnonChanBot?start=-1001502978392')
markup.add(btn_my_site)
bot.send_message(message.chat.id, "Здесь вы можете присылать работы, которые давали вам преподаватели, чтобы облегчить жизнь тем, кому их ещё не давали. Ваши сообщения АНОНИМНЫ.", reply_markup=markup)
# Ну и так далее...
button_yes=types.InlineKeyboardButton(text='Принят',callback_data=f'yes|{message.chat.id}')
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
answer, user = call.data.split('|')
if answer=='yes':
bot.send_message(user,'Принято')
def get_keyboard(id: str):
buttons: list = [
types.InlineKeyboardButton(text='Редактировать', callback_data=f'edit|{id}'),
types.InlineKeyboardButton(text='Удалить', callback_data=f'del|{id}')
]
keyboard = types.InlineKeyboardMarkup(row_width=2)
keyboard.add(*buttons)
return keyboard
.....
async def list_tasks(message: types.Message):
user_id: int = message.from_user.id
lt: list = get_list_tasks(user_id)
if len(lt) == 0:
await message.answer('Ни одного таска ещё не создано.')
else:
for task in lt:
id = task[-1] # Ну или под каким индексом тут должен скрываться ID записи? Скорректируешь
await message.answer(f'{task[0]}\n\n{task[1]}\n\nid: {task[-1]}', reply_markup=get_keyboard(id))
command, id = call.data.split('|')
elif message.text == 'VK':
bot.send_message(message.chat.id, 'Держите вашу ссылку: https://vk.com/arizona1phoenix')
...
mes = bot.send_message(call.chat.id, text="Введите запрос:")
bot.register_next_step_handler(mes, get_data_func, mes.date)
...
def get_data_func(message, date):
if message.date-date > 36000: # 10 часов в секундах
<тут уже ваши действия>
bot.register_next_step_handler(call.message.chat.id, caclulate_usd)
bot.register_next_step_handler(call.message, caclulate_usd)
.......
bot.register_next_step_handler(call.message, caclulate_usd, call)
.......
def caclulate_usd(message, call):
num_usd = message.text
bot.send_message(call.message.chat.id, 'Ваше запрос \"' + message.text +
'\" получен. Можете вернуться в главное меню ⤵', reply_markup=keyboard)