Skip to content

BadVibessz/vk-dorm-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Простой вк бот для беседы этажа.

Что может этот бот

Бот напоминает о дежурстве на этаже и еженедельной проверке комнат.

Как задеплоить бота

  • Создать файл .env в корне проекта с данным содержимым:
VK_API_TOKEN=YOUR_TOKEN
VK_ENDPOINT=https://api.vk.com/method/
VK_API_VERSION=5.154
  • YOUR_TOKEN заменить на токен бота.

Конфиг

chat-id: 2  # id чата, который должен слушать бот
rooms:      # список комнат на этаже  
    - number: "123"
      members:
        - name: Ваня
          id: id123456789
        - name: Петя
          id: id123456789
      swap-pending: false
      ...
      
duty-timings: # время для напоминания о дежурстве
    - "10:30"
    - "21:30"
 
clean-timings: # время для напоминания о проверке
    - "11:00"
    - "18:00"

frequency: 2 # частота дежурства в днях (2 значит напоминать каждые два дня)
current: "393" # комната, ответственная за дежурство в данный момент
clean-day: saturday # день проверки комнат
clean-hour: "21:00" # время проверки комнат
retries: 3 # количество попыток отправки http запросов к vk api в случае неудачи
retry-interval: 1 # сколько ждать между попытками в секундах
dad: 123456789 # id папы (тот, кто создал vk token), в принципе можно указать чей угодно id

admins: # id администраторов (тех, кто может управлять ботом с помощью команд)
    - 123456789
    - 134436345

Список команд

  • /queue:
    Показать текущий порядок дежурств

  • /reset:
    Восстановить порядок комнат по умолчанию

  • /swap <комната 1> <комната 2>:
    Поменять комнаты местами в порядке дежурств

  • /setcurrent <номер комнаты>:
    Назначить комнату дежурной

  • /accepted:
    Пометить, что текущее дежурство принято

  • /skip <число>:
    Пропустить n напоминаний дежурств

  • /setfreq <число>:
    Установить частоту дежурства

    число: от 1 до 7
  • /getcleanday:
    Вывести текущий день проверок комнат

  • /setcleanday <день недели>:
    Установить день проверки комнат

    день недели: понедельник - воскресенье, monday - sunday
  • /getcleanhour:
    Вывести текущее время проверки комнат

  • /setcleanhour <время> :
    Установить время проверки комнат

    время: час:минута