Версия 1.0 Авторы:
- Даниил JazzMutant Толстоухов
- Артемий Arteeck Гордон
- Софья HebiSan Горбунова
Бот позволяет создавать напоминания, которыми можно делиться с другими пользователями. Также есть возможность общаться в анонимной чат-рулетке.
-
Базовые функции
/help
- Показать краткую справку по командам/date
- Показать текущую дату/authors
- Показать авторов -
Напоминания
/new
- Создать новое напоминание. Есть возможность установить напоминание в любое время или использовать один из предложенных шаблонов. Событые может быть периодическим/all
- Показать список всех напоминаний пользователя/remove
- Удалить напоминание из списка -
Встречи
/meeting
- Создать новое напоминание, которым можно будет поделиться с другими пользователями. После создания будет сгенерирован уникальный идентификатор/join
- Присоединиться к событию по его уникальному идентификатору. Напоминание будет автоматически добавлено в ваш список напоминаний -
Чат-рулетка
/chat
- Войти в режим чат-рулетки. При создании встречи в этом режиме вашему собеседнику автоматически поступит предложение присоединиться/next
- Сменить текущего собеседника/leave
- Выйти из режима чат-рулетки -
События (Alpha) Возможность создавать события, в которых могут принять участие все желающие пользователи. Например игра "Тайный Санта", где пользователи могут обменяться поздравлениями со случайными людьми.
/event
- Посмотреть информацию о текущем или предстоящем событии/wish
- Оставить свое пожелание
Приложение может работать в двух режимах: консольный и режим телеграм-бота.
Хранение пользовательских напоминаний возможно на диске, либо в базе данных.
Все настройки, в том числе локализацию можно найти в файле recources/BotResorces.json
Настройки логирования находятся в resources/logging.properties
Приложение и парсер настроек: bot
Класс пользователя и его возможные состояния: user
Пакет, отвечающий за работу с напоминаниями: reminder
Пакет для работы с сериализацией и десериализацией: serializer
Пакет ввода-вывода: inputOutput
Чат-рулетка: chatRoulette
Пакет для работы с событиями + Тайный Санта: event
- Базовые команды
- Многопользовательность, перисистентное хранилище заметок, интеграция Telegram
- Встречи
- Чат-рулетка
- События
Выпонено/пропущено
- [x] Об авторах- [x] help
- [x] echo
- [x] Команды для создания заметки, вывод напоминания в указанное время
- [x] Отделить ввод/вывод
- [x] Перисистентное хранилище
- [x] Многопользовательность
- [x] Список напоминаний
- [x] Тесты
- [x] Удаление заметок
- [x] Telegram**
- [x] Проблема многопоточности
- [x] Встречи
- [x] Проблема вывода большого числа заметок в нужное время
- [x] Уменьшить дельту между датой заметки и текущим временем
- [x] Периодичные напоминания
- [x] Настройки и внутренние тексты вынести в .ini или .json
- [x] Логи
- [x] Чат-рулетка
Пользователи могут анонимно общаться через бота со случайным человеком.
Собеседника можно сменить в любой момент.
Собеседники могут создать общую встречу по общему согласию.
- [x] Новое состояние -- общение
- [x] Придумать как создавать встречи
- [x] Heroku
- [x] String.format
- [x] uuid
- [x] Тип сериализатора в конфиге
- [x] Правильное время на Хероку
- [x] Отделить парсинг команд от их исполнения
- [x] Json -> data base
- [x] Класс пользователя
- [x] Не переключаться на одного и того же юзера в рулетке
- [x] Вынести установку периода в отельный диалог
- [x] /stop
- [x] Переместить заметки в /Resources
- [x] Тайный санта
Пользователи собираются в группу, потом в определенное время каждому пользователю
назначается собеседник, которому он должен написать поздравление (Или что-то не
текстовое -- надо подумать). Если человек не отправлет поздравление, то ему приходит
напоминание. Если не отправить поздравление до дедлайна, то пользователь теряет
анонимность и всем остальным оправляется гневное сообщение (напр. Толик -- бубун)
- [x] Пофиксить проблему с неправильным отображением месяцев следующего года
- [x] Сделать так, чтобы кнопка возвращала конкретное значение, а не номер кнопки
- [x] Пофиксить проблему с потерей коннекта к базе данных
- [x] synchronized -> потокобезопасные структуры. Сохранить все сортировки и компараторы
- [x] Красивый вид дней месяца и мясяцев года.
- [x] Убрать двустороннюю связь между классами
- [ ] В рулетке, при создании встречи, токен видят все
- [ ] Заменить айди чата на никнейм или что-то еще в рулетке.
- [ ] Добавить возможность делать никнемы
- [ ] Исправление некорректной даты начинается в тот же шаг, когда дата становится неправильной
- [ ] Пофиксить тесты
- [ ] Русификация
- [ ] Help в телеге
- [ ] DDoS заметки :D
- [ ] /start
- [ ] Убрать варнинги при билде
- [ ] Добавить описание
- [ ] Спрашивать у пользователя часовой пояс
- [ ] В списке всех заметок выводить токен у встреч
- [ ] Заменить switch на словарь комманд
- [ ] Добавить описание тайного Санты
- [ ] Добавить возможность писать время через точку
- [ ] Починить счетчик онлайн пользователей
- [ ] Динамически менять время обновления
- [ ] Связь заметок между собой. При удалении корневой, удаляются все