Это новая версия бота расписания КИТиС, переписанная на Typescript. Эта версия использует асинхронные вызовы Telegram API, а также базу данных PostgreSQL вместо SQLite3.
ВНИМАНИЕ: Данный гайд предназначен для установки бота на сервер Ubuntu, в моём случае Ubuntu 24.04.
Для начала нужно установить пакет postgres, для этого используйте:
sudo apt-get install postgres -yПроверьте статус работы postgres через команду:
systemctl status postgresПосле этого нужно установить bun (это javascript runtime):
sudo apt-get install unzip -y
curl -fsSL https://bun.sh/install | bashПосле этого перезапустите терминал для обновления PATH.
Дальше склонируйте этот репозиторий в нужную директорию:
git clone https://github.com/mifizz/kitisbot2
cd kitisbot2Нужно создать пользователя postgres и базу, для этого:
sudo -u postgres psql -f setup.sqlУстановите пакеты bun:
bun installСоздайте .env файл и запишите туда токен бота, предварительно создав его в BotFather:
TOKEN="ВАШ_ТОКЕН"Наконец, запустите бота:
bun run bot.tsПосле первого запуска создастся файл config.json, в нём желательно установить Telegram id админов бота (bot -> admins), например ["1234567890"], а также по желанию включить цветной логгинг (logger -> use_colors -> true).
В настройках бота (BotFather) можно установить команды:
schedule - ваше расписание
scheduleby - чужое расписание
settings - настройки бота
status - статус сайта
help - помощь по боту
Для постоянной работы бота можно создать сервис, но с этим, я думаю, сами разберётесь))
- Webhook
- Страницы в выборе источника расписания
- Перенос учёта занятий с сайта (пример)
- Настройка полей сообщения с расписанием (и учётом занятий)
- Кэширование данных для случаев, когда сайт недоступен
- ...