34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
import logging
|
||
from telebot import types
|
||
from database.models import Teachers
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
|
||
def register(bot):
|
||
@bot.message_handler(func=lambda message: message.text == "Show Teachers")
|
||
def get_teachers(message):
|
||
try:
|
||
data = Teachers.getAllTeachers()
|
||
if data:
|
||
|
||
markup = types.InlineKeyboardMarkup(row_width=1)
|
||
for row in data:
|
||
btn = types.InlineKeyboardButton(
|
||
f"@{row[1]} | id#{row[0]}", callback_data=f"teacher_{row[0]}")
|
||
markup.add(btn)
|
||
# add button for creating a new teacher
|
||
markup.add(types.InlineKeyboardButton(
|
||
"➕ Create New Teacher 🔒", callback_data="create_teacher"))
|
||
|
||
bot.send_message(
|
||
message.chat.id, "Here is the data:", reply_markup=markup)
|
||
else:
|
||
markup = types.InlineKeyboardMarkup(row_width=1)
|
||
markup.add(types.InlineKeyboardButton(
|
||
"➕ Create New Teacher 🔒", callback_data="create_teacher"))
|
||
bot.reply_to(message, "No data found.", reply_markup=markup)
|
||
except Exception as e:
|
||
logger.error(f"Error in get_teachers handler: {e}")
|
||
bot.reply_to(message, "Sorry, an error occurred.")
|