Подготовка к релизу

This commit is contained in:
2025-10-30 18:28:26 +03:00
parent 69c0162c6b
commit 4981db90a0
191 changed files with 45557 additions and 3651 deletions
+70
View File
@@ -0,0 +1,70 @@
# Алгоритм кодовой реализации разделения приветствий
## Обзор
Реализация разделения приветствий на основе ролей пользователей (user, moderator, admin) для Telegram бота.
## Шаг 1: Обновление файла messages.py
Добавляем новые приветствия в словарь USER_MESSAGES:
```python
# Новые приветствия по ролям
'greetings_by_role': {
'user': '''Привет, {name}! 👋
Добро пожаловать в чат. Я ваш помощник здесь.
Используйте /help для подробной информации.''',
'moderator': '''Привет, {name}! 👋
Как модератор, вы можете управлять чатом.
Используйте /help для команд модерации.''',
'admin': '''Привет, {name}! 👋
Добро пожаловать, администратор. У вас полный доступ к управлению ботом.
Начните с /help для списка команд.'''
}
```
## Шаг 2: Модификация обработчика команды /start
```python
async def handle_start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
user = update.effective_user
user_id = user.id
user_name = user.first_name or "пользователь"
# Получить роль пользователя из базы данных
user_role = database.get_user_role(user_id)
# Если роль не найдена, назначить 'user' по умолчанию
if not user_role:
user_role = USER_ROLES['user']
database.add_user(user_id, user_name, user_role)
# Выбрать соответствующее приветствие
greeting_template = USER_MESSAGES['greetings_by_role'].get(
user_role,
USER_MESSAGES['greetings_by_role']['user'] # fallback
)
# Форматировать приветствие
greeting = greeting_template.format(name=user_name)
await update.message.reply_text(greeting)
```
## Шаг 3: Проверка базы данных
Убедиться, что таблица пользователей содержит поле `role` с значениями:
- 'user' - обычный пользователь
- 'moderator' - модератор
- 'admin' - администратор
## Шаг 4: Тестирование
1. Проверить приветствия для каждого типа роли
2. Убедиться в корректной работе для новых пользователей
3. Проверить fallback для неизвестных ролей
4. Тестировать интеграцию с существующим кодом
## Требования к реализации
- Персонализация приветствий по ролям пользователей
- Fallback на приветствие для обычных пользователей
- Совместимость с существующей архитектурой бота
- Безопасность и валидация данных