alpha-test

This commit is contained in:
2025-09-18 13:46:35 +09:00
parent 85027a7747
commit 5ea3e8c1f3
27 changed files with 5887 additions and 174 deletions

76
scripts/README.md Normal file
View File

@@ -0,0 +1,76 @@
# Исправление проблем с уведомлениями в боте
Этот набор скриптов предназначен для исправления проблем с обработкой уведомлений в боте.
## Описание проблемы
После внедрения системы уведомлений и связанных с ней изменений в базе данных, возникла проблема с обработкой callback запросов. Бот перестал реагировать на все callback запросы, кроме тех, что связаны с уведомлениями.
Проблема вызвана следующими факторами:
1. Отсутствие или неверная структура таблиц в базе данных для хранения уведомлений
2. Отсутствие необходимых полей `state` и `state_data` в таблице `users`
3. Отсутствие правильной регистрации обработчиков уведомлений в файле `bot.ts`
## Решение
Для решения проблемы были созданы следующие скрипты:
### 1. `fix_notification_callbacks.js`
Проверяет и создает необходимые таблицы и столбцы в базе данных:
- Таблицы `notifications`, `scheduled_notifications`, `notification_templates`
- Столбцы `notification_settings`, `state`, `state_data` в таблице `users`
### 2. `update_bot_with_notifications.js`
Обновляет файл `bot.ts`:
- Добавляет импорт класса `NotificationHandlers`
- Добавляет объявление поля `notificationHandlers` в класс `TelegramTinderBot`
- Добавляет создание экземпляра `NotificationHandlers` в конструкторе
- Добавляет регистрацию обработчиков уведомлений в методе `registerHandlers`
### 3. `fix_all_notifications.js`
Запускает оба скрипта последовательно для полного исправления проблемы
## Как использовать
1. Остановите бота, если он запущен:
```bash
# Нажмите Ctrl+C в терминале, где запущен бот
# или найдите процесс и завершите его
```
2. Запустите комплексный скрипт исправления:
```bash
node scripts/fix_all_notifications.js
```
3. После успешного выполнения скрипта перезапустите бота:
```bash
npm run start
```
## Проверка результата
После запуска бота убедитесь, что:
1. Бот отвечает на все callback запросы (включая кнопки, не связанные с уведомлениями)
2. Настройки уведомлений работают корректно (команда /notifications или кнопка в меню настроек)
3. Уведомления о лайках, супер-лайках и новых матчах приходят пользователям
## Если проблемы остались
Если после выполнения всех шагов проблемы остались, выполните следующие проверки:
1. Проверьте логи бота на наличие ошибок
2. Проверьте структуру базы данных:
```sql
\dt -- Список всех таблиц
\d notifications -- Структура таблицы notifications
\d scheduled_notifications -- Структура таблицы scheduled_notifications
\d notification_templates -- Структура таблицы notification_templates
\d users -- Убедитесь, что поля state, state_data и notification_settings существуют
```
3. Проверьте код в файлах:
- `src/bot.ts`: должен содержать импорт, создание и регистрацию `NotificationHandlers`
- `src/handlers/callbackHandlers.ts`: должен правильно обрабатывать все callback-запросы
В случае обнаружения ошибок, исправьте их вручную и перезапустите бота.