Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ node_modules
db
dist
coverage
scraper
src/constants/version.ts
tmp
temp
Expand Down
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CSBot

> This project is undergoing rapid development and should be considered experimental. Use it at your own risk. 🤙
> This project is currently in active development and should be considered experimental. Use it at your own risk. 🤙

A bot to help manage the activities and community of BYU's Computer Science Discord server.

Expand Down Expand Up @@ -67,7 +67,14 @@ Retrieves the internal picture for a custom emoji. By default responds ephemeral

### /findroom ( now / at / between / when )

Searches for open rooms on BYU Campus. _'Now'_, _'At'_, and _'Between'_ allow you to filter your search by time. \_'When'\_ allows you to see when a specified room is available.
Searches for available classrooms on BYU Campus using real-time schedule data. Built with native TypeScript and features automatic retry logic for reliable data fetching.

- **now** - Find rooms available right now
- **at** - Find rooms available at a specific time and day(s)
- **between** - Find rooms available during a time range on specific day(s)
- **when** - Check when a specific room is next available

The room finder automatically updates its database every Sunday at 2 AM to stay current with the semester schedule. Use [`/scraperooms`](#scraperooms) to update the database manually.

### /help

Expand All @@ -81,6 +88,10 @@ Checks whether BYU's CAS system is operational, because it crashes fairly often.

Retrieves the profile picture of the given user.

### /scraperooms

**[Admin Only by default]** Manually triggers the room finder data scraper to update the database with current semester schedule information. This is useful for forcing an immediate update without waiting for the automatic Sunday schedule. Takes 10-15 minutes to complete and runs in the background. Shows real-time progress if a scrape is already running.

### /sendtag

Not complete. For now, this command simply auto-completes the tag the user types, but it does not send the tag.
Expand Down
1 change: 1 addition & 0 deletions eslint.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ export default defineConfig(
rules: {
// Handled by Prettier
'unicorn/no-nested-ternary': 'off',
'unicorn/number-literal-case': 'off',

// Overrides
'unicorn/filename-case': 'off', // We use camelCase
Expand Down
Loading