ReminderBot/bot/utils/keyboards.py
leo f453a7917e Initial commit: add reminderBot project structure
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 11:40:58 +08:00

74 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from telegram import InlineKeyboardButton, InlineKeyboardMarkup, ReplyKeyboardMarkup
def main_keyboard() -> ReplyKeyboardMarkup:
return ReplyKeyboardMarkup(
[
[" 新建提醒", "📋 我的提醒"],
["❓ 帮助"],
],
resize_keyboard=True,
)
def reminder_type_keyboard() -> ReplyKeyboardMarkup:
return ReplyKeyboardMarkup(
[
["一次性", "每日"],
["每周", "间隔"],
["取消"],
],
resize_keyboard=True,
one_time_keyboard=True,
)
def yes_no_keyboard() -> ReplyKeyboardMarkup:
return ReplyKeyboardMarkup(
[["", ""], ["取消"]],
resize_keyboard=True,
one_time_keyboard=True,
)
def confirm_keyboard() -> ReplyKeyboardMarkup:
return ReplyKeyboardMarkup(
[["✅ 确认创建", "❌ 取消"]],
resize_keyboard=True,
one_time_keyboard=True,
)
def reminder_action_keyboard(reminder_id: int) -> InlineKeyboardMarkup:
return InlineKeyboardMarkup(
[
[
InlineKeyboardButton("✅ 完成", callback_data=f"done_{reminder_id}"),
InlineKeyboardButton(
"⏰ 延期10分钟", callback_data=f"snooze_{reminder_id}"
),
],
[
InlineKeyboardButton("⏸ 暂停", callback_data=f"pause_{reminder_id}"),
InlineKeyboardButton("🗑 删除", callback_data=f"delete_{reminder_id}"),
],
]
)
def list_item_keyboard(reminder_id: int, is_active: bool) -> InlineKeyboardMarkup:
toggle_label = "⏸ 暂停" if is_active else "▶️ 启用"
toggle_action = "pause" if is_active else "resume"
return InlineKeyboardMarkup(
[
[
InlineKeyboardButton(
toggle_label, callback_data=f"{toggle_action}_{reminder_id}"
),
InlineKeyboardButton(
"🗑 删除", callback_data=f"delete_{reminder_id}"
),
]
]
)