Проекты: Планировщик отпусков (остановлен)

VaCalendar — простой бот для планирования отпусков.

Написан на Python с использованием библиотек
- python-decouple
- asyncpg
- aiogram
Вся работа с базой данных PostgreSQL выполняется через сохранённые функции (см. реализацию в reinit_api.sql) что, на мой взгляд, удобнее и повышает отказоустойчивость, а так же повышает производительность, да и кто это будет проверять...

Ссылка на гитхаб: /wratixor/vacalendar

После установки, настройки и запуска всех необходимых компонентов (нет, я не паковал это докером, если кто-то хочет распространять пакуйте и распространяйте, лицензия GPL v3) необходимо добавить бота в группу и ввести /start для инициализация группы и /join для присоединения к ней.

Бот доступен по адресу: @vacalendar_bot

Реализованный функционал

Команды доступные везде:
/start - Инициализация бота в группе | в приватном чате
/help - Справка по командам группы | приватного чата
/status - Статус участников | групп пользователя
/all - Все отпуска участников группы | всех групп пользователя
/upcoming - Ближайшие отпуска группы | всех групп пользователя
/cross - Пересечения отпусков группы | отпусков пользователя во всех группах
В параметрах команд отображения отпусков можно указать год, если требуется информация за год отличный от текущего
Например: /all 2023

Команды доступные в группе:
/join - Присоединиться к группе
Администратор 👑 группы может присоединить к группе ранее вышедшего ◼ участника набрав команду /join @username
/leave - Покинуть группу
Права администратора, при наличии, будут отозваны
Отпуска пользователя перестанут отображаться для группы
Администратор 👑 группы может исключить из группы присоединённого ◻ участника
набрав команду /leave @username

/kick - Удалиться из группы
Права администратора, при наличии, будут отозваны
Пользователь будет полностью удалён из группы
Администратор 👑 группы может удалить из группы присоединённого ◻ участника
набрав команду /kick @username

/readmin - Переключение прав администратора
Присоединившиеся ◻ администраторы чата всегда являются администраторами 👑 группы
Администратор 👑 группы может выдать/отозвать права администратора другому участнику группы
набрав команду: /readmin @username - для переключения да/нет
/readmin @username add - для выдачи прав
/readmin @username del - для отзыва прав

Команды доступные в приватном чате:
/account - Информация о пользователе
Выводит информацию об аккаунте, а так же позволяет изменить цвет и отображаемое имя пользователя
/vacation - Все отпуска пользователя
Выводит информацию обо всех отпусках пользователя, а так же позволяет редактировать, переключать видимость и удалять их
/add - Добавить новый отпуск
Поддерживаемые форматы команды:
/add - поэтапный ввод информации
/add %дата_с% %дата_по% или /add %дата_с% %кол-во_дней% - сокращённый ввод
дата может быть указана в формате ДД.ММ.ГГГГ или ГГГГ-ММ-ДД

Запланированный функционал

Вывод информации в графическом режиме (картинка календаря с отметками отпусков цветом) по команде /calendar (аналог /all)


Все замечания и предложения просьба направлять на почту или в телеграмм. Так же вы можете поддержать проект рублём по ссылке в подвале слева.




26.11.2024, 22:32:19 / 14.12.2024, 01:54:47