gretmn102 / gretmn102/WinniePoohBot

feat: поздравлять только один раз за сутки

Open
#8 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.