alpha-test
This commit is contained in:
76
scripts/README.md
Normal file
76
scripts/README.md
Normal 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-запросы
|
||||
|
||||
В случае обнаружения ошибок, исправьте их вручную и перезапустите бота.
|
||||
Reference in New Issue
Block a user