TaskTrackifyBot - это телеграм-бот, предназначенный для планирования задач и повышения продуктивности. Он обеспечивает удобный способ записи, просмотра и удаления задач, помогая вам организовать свою работу.
- Архитектура проекта
- Инструкция по установке
- Лицензия
- Описание переменных окружения
- Функционал
- Хеширование
- Git
- Docker
- JDK 11
- Apache Maven
- Склонируйте проект с помощью команды:
git clone https://github.com/BucketOnHead/java-task-tracker-telegram-bot
- Заполните файл
.env.example
и переименуйте его в.env
:
TELEGRAM_BOT_USERNAME=YourBotUsername
TELEGRAM_BOT_TOKEN=YourBotToken
# and others
- Перейдите в директорию проекта:
cd java-task-tracker-telegram-bot
- Соберите проект с помощью Apache Maven:
mvn clean install
После установки проекта, вы можете запустить его с помощью команды:
docker-compose up -d
Этот проект лицензирован в соответствии с лицензией MIT.
Пожалуйста, ознакомьтесь с полным текстом лицензии, прежде чем использовать данный проект.
Important
Указанная информация может устареть со временем.
Переменная окружения | Описание |
---|---|
TELEGRAM_BOT_USERNAME |
Имя вашего бота в Telegram |
TELEGRAM_BOT_TOKEN |
Токен вашего бота в Telegram |
RABBITMQ_DEFAULT_USER |
Имя пользователя для RabbitMQ |
RABBITMQ_DEFAULT_PASS |
Пароль пользователя для RabbitMQ |
COMMON_DB_NAME |
Имя общей базы данных |
COMMON_DB_USER |
Имя пользователя для общей базы данных |
COMMON_DB_PASSWORD |
Пароль пользователя для общей базы данных |
Important
Указанная информация может устареть со временем.
Команда | Функция |
---|---|
/start |
Запуск бота |
/delete |
Удаление аккаунта |
/help |
Получение списка доступных команд |
/profile |
Получить информацию о профиле |
/taskmode |
Переход в режим управления задачами |
/main |
Переход в главный режим |
/task |
Создание задачи |
/tasks |
Получение списка задач |
/donetask |
Удаление задачи из списка |
Important
Указанная информация может устареть со временем.
Если вам необходимо добавить хеширование для вашей сущности и вы хотите
использовать библиотеку Caffeine
, вы можете воспользоваться классом
AbstractCaffeineAppCache
из модуля node
, который уже содержит базовые
методы. Вы можете помещать сущность в хеш без явного указания ключа
, если
переопределите метод K getKey(V value)
. В противном случае будет сгенерировано
исключение RuntimeException
с сообщением:
"Saving entity only by value is not provided or not implemented".
Important
Указанная информация может устареть со временем.
Настройка хеширования выполняется в модуле node
в классе конфигурации AppCacheConfig
с использованием
библиотеки Caffeine
. Пример настройки представлен ниже:
package com.github.bucketonhead.config;
@Configuration
public class AppCacheConfig {
@Bean
public Cache<Long, AppUser> appUserCaffeine() {
return Caffeine.newBuilder()
.expireAfterAccess(10, TimeUnit.MINUTES)
.maximumSize(100)
.build();
}
}
По умолчанию, пользователь будет удален из кеша
через 10 минут
после последнего обращения
.
Максимальное количество мест в кеше составляет 100
.