gretmn102 / gretmn102/WinniePoohBot
feat: поздравлять только один раз за сутки
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Есть два способа, как определить, что бот уже сегодня поздравлял:
* По конкретным поздравлениям
* По дате запуска бота
Чтобы сделать проверку по конкретным поздравлениям, нужно решить #7. Там есть свои трудности из-за отсутствия ID для поздравлений.
Чтобы сделать по дате запуска, достаточно где-нибудь запоминать дату последнего запуска и сверяться с ней.
Больше склоняемся к дате запуска бота.
## Какую БД использовать
Сейчас имеется два варианта:
* Файл `.env`
* Гугл таблица
### Файл `.env`
В файле `.env` странно держать такие данные. Оно вообще предназначено только для всякой важной секретной фигни. Но тем ни менее сейчас там содержится `CHAT_ID`, `SPREADSHEET_ID` и еще что-то. Это тупо, конечно.
### Гугл таблица
Обращение к гугл таблице имеет ряд минусов:
* Напрягает трафик
Если при чтении еще можно сократить нагрузку за счет bulk запроса, то запись — это уже отдельный запрос.
* Требует дополнительное указание, какой лист использовать
Можно захардкодить "Setting" и автоматически создавать его и записывать всё тудой
* Требует прав на запись в таблицу
Если пользователь запретит редактирование для всех пользователей, то всё. Надо настраивать OAuth2 для Гугла и самому пользователю шаманить с дополнительной настройкой.
### Отдельным файлом
TODO
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names .env and a Google table but no implementation file, entry point, or test. First inspect how the bot starts and currently stores settings; done means choosing one persistence approach and recording the last run date so duplicate daily greetings are prevented, with the decision documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- google-cloud, typescript
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100