Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion telegram_bot_project/bot/buttons.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,19 @@ def task_menu_keyboard() -> ReplyKeyboardMarkup:
task_menu_keyboard.keyboard.append([button_delete, button_update])
task_menu_keyboard.keyboard.append([button_menu, button_all_tasks])

return task_menu_keyboard
return task_menu_keyboard

def settings_menu_keyboard() -> ReplyKeyboardMarkup:
settings_menu_keyboard = ReplyKeyboardMarkup(keyboard=[], resize_keyboard=True, row_width=2)

main_menu_button = KeyboardButton(text=MENU_BUTTON)
feedback_button = KeyboardButton(text=SETTINGS_BUTTON_FEEDBACK)
language_button = KeyboardButton(text=SETTINGS_BUTTON_LANGUAGE)
routine_button = KeyboardButton(text=SETTINGS_BUTTON_ROUTINE)
routine_time = KeyboardButton(text=SETTINGS_BUTTON_ROUTINE_TIME)

settings_menu_keyboard.keyboard.append([routine_time, routine_button])
settings_menu_keyboard.keyboard.append([language_button, feedback_button])
settings_menu_keyboard.keyboard.append([main_menu_button])

return settings_menu_keyboard
15 changes: 13 additions & 2 deletions telegram_bot_project/bot/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from service.idea import IdeaService
from service.task import TaskService
from service.user import UserService
from bot.buttons import get_language_keyboard, menu_reply_keyboard, idea_reply_keyboard, task_menu_keyboard
from bot.buttons import *
from states import DialogStates

# Start Command Handler
Expand Down Expand Up @@ -223,4 +223,15 @@ async def update_task_command(message: types.Message, state: FSMContext):

await message.answer(MESSAGES[language]['UPDATE_TASK_MSG'])
await state.set_state(DialogStates.update_task_id)
await state.update_data(tasks=tasks)
await state.update_data(tasks=tasks)

#Setting Menu Open Command
async def setting_menu_command(message: types.Message):
user_id: int = message.from_user.id
user_find: Any = await UserService.get_user_by_id(user_id)
language: str = await UserService.get_user_language(user_id)

if not user_find:
await message.answer(MESSAGES['ENGLISH']['AUTHORIZATION_PROBLEM'])
else:
await message.answer(MESSAGES[language]['SETTINGS_MENU'], reply_markup=settings_menu_keyboard())
12 changes: 12 additions & 0 deletions telegram_bot_project/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ async def menu(message: Message):
async def language(message: Message):
await language_command(message)

@dp.message(lambda m: m.text == SETTINGS_BUTTON_LANGUAGE)
async def language(message: Message):
await language_command(message)

@dp.message(Command("idea"))
@dp.message(lambda m: m.text == BUTTON_IDEA)
async def idea(message: Message, state: FSMContext):
Expand Down Expand Up @@ -100,6 +104,14 @@ async def update_task(message: Message, state: FSMContext):
async def edit_task(message: Message, state: FSMContext):
await update_task_command(message, state)

@dp.message(lambda m: m.text == BUTTON_SETTINGS)
async def settings(message: Message):
await setting_menu_command(message)

@dp.message(Command("settings"))
async def settings(message: Message):
await setting_menu_command(message)

@dp.callback_query(F.data.in_({"lang_ua", "lang_en"}))
async def callback_language(callback_query: CallbackQuery):
await start_callback_language(callback_query)
Expand Down
6 changes: 6 additions & 0 deletions telegram_bot_project/messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
"UPDATE_TASK_PROBLEM": "⚠️ Помилка під час оновлення. 😕",
"UPDATE_TASK_NAME_MSG": "📝 Введіть нову назву завдання:",
"UPDATE_TASK_NAME_INVALID": "❌ Неправильна назва! 🔄",
"SETTINGS_MENU": "⚙️ Ласкаво просимо в Налаштування",
"LANGUAGE_ASK": (
"🌐 **Оберіть мову інтерфейсу:**\n"
"Натисніть кнопку нижче ⬇️"
Expand Down Expand Up @@ -113,6 +114,7 @@
"UPDATE_TASK_PROBLEM": "⚠️ Problem updating task. 😕",
"UPDATE_TASK_NAME_MSG": "📝 Enter the new task name:",
"UPDATE_TASK_NAME_INVALID": "❌ Invalid task name! 🔄",
"SETTINGS_MENU": "⚙️ Welcome to Settings",
"LANGUAGE_ASK": (
"🌐 **Choose your language:**\n"
"Tap a button below ⬇️"
Expand Down Expand Up @@ -146,3 +148,7 @@
BUTTON_EDIT_TASK = "✏️ Edit Task"
BUTTON_TOGGLE_STATUS = "✅ Complete"
BUTTON_ALL_TASKS = "📂 All tasks"
SETTINGS_BUTTON_LANGUAGE = "🌐 Language"
SETTINGS_BUTTON_FEEDBACK = "💬 Feedback"
SETTINGS_BUTTON_ROUTINE = "✅ Routine"
SETTINGS_BUTTON_ROUTINE_TIME = "⏰ Routine Time"