Commit Graph

  • be047cf209 fix: npe/bad index access in command handling Xevion 2025-08-26 00:35:55 -05:00
  • c01a112ec6 feat: proper context handeling, graceful cancellation & shutdown Xevion 2025-08-26 00:29:37 -05:00
  • 65fe4f101f fix: proper development logger Xevion 2025-08-26 00:23:01 -05:00
  • a37fbeb224 fix: proper configuration handling across submodules Xevion 2025-08-26 00:19:43 -05:00
  • 165e32bbf6 fix: provide doc comments for lints Xevion 2025-08-25 23:48:43 -05:00
  • 7edd1f16bf fix: various lintings, simple improvements Xevion 2025-08-25 23:41:43 -05:00
  • 2bf0e72e2e fix: improve term year logic due to fall-spring literal year change issues, add testing Xevion 2025-08-25 23:30:46 -05:00
  • 6cc0cfb997 feat: add taskfile Xevion 2025-08-25 22:59:16 -05:00
  • b16c2d51bc refactor: complete refactor into cmd/ & internal/ submodules Xevion 2025-08-25 22:57:05 -05:00
  • 2d25bb8921 I thought I fixed you earlier Xevion 2024-09-10 14:00:48 -05:00
  • 2a7489d71f Status code check, fix txt_term hard coded static Xevion 2024-09-10 13:59:06 -05:00
  • c850acffcd Fix incorrect term format decisions (Fall is NEXT year, not current year) Xevion 2024-09-10 13:41:01 -05:00
  • 6fd2d6fc7d Consolidate all files into /docs Xevion 2024-03-09 20:36:52 -06:00
  • 88279bedf1 Add documentation on Banner sessions Xevion 2024-03-01 01:25:03 -06:00
  • c444d2c371 Change PPROF_PORT var Xevion 2024-03-15 05:20:51 -05:00
  • 49630fd79e Setup pprof profiling server Xevion 2024-03-15 05:02:33 -05:00
  • 58e2698bd8 Add request size logging Xevion 2024-03-15 04:50:51 -05:00
  • a0edff1e9d Setup dynamic session timing & regeneration/setup flows tied to DoRequest Xevion 2024-03-01 00:51:38 -06:00
  • e2bf31cb33 Use Central Time for footer embed Xevion 2024-03-01 00:24:34 -06:00
  • 23cf1f0c41 Improve struct docuemtnation Xevion 2024-02-16 18:24:53 -06:00
  • 797a2d14fd use better filename for ICS generation Xevion 2024-02-16 18:24:44 -06:00
  • aacd1daa86 Improve base case message for course code range parsing Xevion 2024-02-16 17:53:09 -06:00
  • 6d6727d714 Add basic RateMyProfessor search Xevion 2024-02-16 17:42:45 -06:00
  • 069b77aebe Add panic recovery, switch some fatal raises to panic Xevion 2024-02-16 17:28:32 -06:00
  • 595228df15 Fix parse order for course range, remove TODO Xevion 2024-02-16 17:14:34 -06:00
  • 44abcd605a Add pluralization, use comma printing for search interaction, field count warning Xevion 2024-02-16 17:10:01 -06:00
  • 5053decd1a Separate term reload logic, bump interval to 24h Xevion 2024-02-16 17:04:38 -06:00
  • 470415cc70 Add page number option to terms command, add comma printing to terms Xevion 2024-02-16 17:04:18 -06:00
  • 7ce28b9f4a Specify 'offset' as page number in GetTerms() definition Xevion 2024-02-16 17:03:23 -06:00
  • d22b3a30a3 Fix partial code range specifier, use proper open ended max, add additional range checks/validation Xevion 2024-02-16 15:54:28 -06:00
  • 3d82514cb2 Improve embed response helpers Xevion 2024-02-16 15:54:01 -06:00
  • 5c4a8c0db0 Trim raw string code value, check length of 2nd group before Atoi Xevion 2024-02-16 15:14:33 -06:00
  • 07b3146868 Increase course title option length, increase min code length Xevion 2024-02-16 15:12:21 -06:00
  • e084927b48 Use embed for respond error, with red color Xevion 2024-02-16 14:59:33 -06:00
  • 951b123772 Switch code option to string Xevion 2024-02-16 14:45:23 -06:00
  • cd19f2cdf3 Implement course code range option (minus #xxx parsing) Xevion 2024-02-16 13:26:14 -06:00
  • 85a3696631 Add CPU/Memory profiling flags Xevion 2024-02-13 10:44:42 -06:00
  • e6283aefae Close response body I/O properly Xevion 2024-02-13 00:44:19 -06:00
  • 783d5fccf8 Finish proper term archival check func Xevion 2024-02-02 14:04:56 -06:00
  • 5140aa708b Make slope calculation part of baseExpiry Xevion 2024-02-01 15:21:26 -06:00
  • b9ff35b711 Improve CalculateExpiry with Slope-based duration calculation Xevion 2024-02-01 15:15:16 -06:00
  • 9885c202ae Change identification, GCal link generation Xevion 2024-02-01 15:13:54 -06:00
  • e339064a83 Add special non-fatal handling for non-meeting courses Xevion 2024-02-01 04:08:56 -06:00
  • 391d782801 README command idea, multi-meeting time analysis Xevion 2024-02-01 04:08:32 -06:00
  • 0b12e717b6 Fix ICS command formatting Xevion 2024-02-01 03:35:38 -06:00
  • cce0267855 Fix 0 class majors being scraped repeatedly Xevion 2024-01-31 23:55:09 -06:00
  • 0b676ed66d Get rid of intermediary expiry check, retrieve all keys in one command Xevion 2024-01-31 23:38:04 -06:00
  • 8a773c8c70 Add stop signal details to log Xevion 2024-01-31 18:59:13 -06:00
  • a2ccef6d48 Continue tuning log messages in scrape Xevion 2024-01-31 18:56:22 -06:00
  • a9603ba562 Continue improving scraping logic, expiry calculations, split into different functions Xevion 2024-01-31 18:50:38 -06:00
  • 1252e75c8a Add stack tracing to logger, use Stack on all fatal/error logs Xevion 2024-01-31 17:58:57 -06:00
  • 9344f1c365 Add EncodeParams function with docs from net/url, multi-line log, generalize GetUsername into GetUser Xevion 2024-01-31 16:33:03 -06:00
  • 80a513184b SessionID questions in README Xevion 2024-01-31 16:32:16 -06:00
  • dbbc55376a Don't raise fatally on failed scrapes Xevion 2024-01-31 13:47:27 -06:00
  • 5db0919956 Use extension map instead of switch case, improve contength parsing, func docs Xevion 2024-01-30 22:20:09 -06:00
  • a1b6fa9a01 Fix scraping check function Xevion 2024-01-30 22:14:14 -06:00
  • 9cc0311164 Fix content length parsing, use header only Xevion 2024-01-30 20:44:53 -06:00
  • b35c952fbc Incrase scrape expiry time, make variable percentages function properly Xevion 2024-01-30 20:18:52 -06:00
  • 8e956e8e67 Query stringification for logs, improve scrape failure logs with query data, better log messages Xevion 2024-01-30 20:18:38 -06:00
  • 4ac28bd210 Course retrieval from redis, setup ICS command data with course detailsl Xevion 2024-01-30 15:27:56 -06:00
  • 3ec5644345 Spelling mistakes Xevion 2024-01-30 12:49:41 -06:00
  • 63922b7ea1 Increase general expiry time (1h per 200 classes), decrease priority time (33%) boost Xevion 2024-01-30 12:47:05 -06:00
  • 000eab55b9 Make scrape periodic + goroutine-based Xevion 2024-01-30 12:40:14 -06:00
  • a2affb1dd4 Update scraping section in README Xevion 2024-01-29 15:56:24 -06:00
  • 2783162b2b Setup expiry time on major scrape, improve logs, use ResetDataForm(), fix query Xevion 2024-01-29 15:56:13 -06:00
  • a785196437 Add ResetDataForm() api call Xevion 2024-01-29 15:55:25 -06:00
  • 7e3e0be0aa Add binary marshal for Redis on Course struct Xevion 2024-01-29 15:55:14 -06:00
  • eee298ced6 Scraping conditional check, implement full scraping into Redis Xevion 2024-01-29 14:54:08 -06:00
  • ae8a413f72 Rate limiting/costs/bursting section in README Xevion 2024-01-29 14:49:55 -06:00
  • 10634c1210 Spelling, separate Course struct from SearchResults Xevion 2024-01-29 14:13:36 -06:00
  • 56aad066f5 Setup base scrapign structure Xevion 2024-01-29 14:13:00 -06:00
  • 1d99dd26a7 Use common pair struct, switch to Pair except for BannerTerm/Instructor, error wrapping, io err handling Xevion 2024-01-29 05:58:28 -06:00
  • a8d383706e Finish remaining API functions, add documentation, wrap with fmt.Errorf, offset checks Xevion 2024-01-29 05:44:28 -06:00
  • 93c2e515e4 Finish GetInstructors, wrap some errors, setup TODO markers for all funcs Xevion 2024-01-29 05:29:29 -06:00
  • 281944546f Encapsulate default term selection into term.go Xevion 2024-01-29 05:28:50 -06:00
  • c5ad772ebc Mispelling in README Xevion 2024-01-29 05:11:57 -06:00
  • b9adaa5d58 Add remaining meta samples Xevion 2024-01-29 05:11:50 -06:00
  • 2228a0a928 Restructure sample data Xevion 2024-01-29 05:03:42 -06:00
  • fb99c72f5f Fix nil key check, fix bad durations Xevion 2024-01-29 04:59:32 -06:00
  • 166e70500d README details on real-time, SQLite, scraping strategy Xevion 2024-01-29 04:57:31 -06:00
  • 5d500b20e5 Handle commands during bot shutdown, move redis setup into initRedis func Xevion 2024-01-29 04:57:11 -06:00
  • 836f3e5511 Add very large searchResults for 500/CS500 Xevion 2024-01-29 04:34:25 -06:00
  • eb792ae4a0 Fix bad merge from stash involving GetUsername/command event log Xevion 2024-01-29 03:22:24 -06:00
  • 38e9d85170 Improve command invocation logging details for guilds & direct messages Xevion 2024-01-29 03:19:44 -06:00
  • a3c0d43fc5 Prevent fatal crashes from DM commands Xevion 2024-01-29 03:17:39 -06:00
  • f3c79b3576 Ditch ics package for raw string templating Xevion 2024-01-29 02:32:11 -06:00
  • ef3df75f45 Add local ICal timestamp format, rename centralTime global var Xevion 2024-01-29 02:31:42 -06:00
  • e0da185ff9 Fix unterminated tuples in ByDays, use string comma join Xevion 2024-01-29 02:30:56 -06:00
  • d0ff5b5d4c Move parameters into consts Xevion 2024-01-28 07:13:54 -06:00
  • 41a75b47a6 Rename json/ to samples/, ignore /js Xevion 2024-01-28 06:46:34 -06:00
  • 916d9972de ICS command continued work Xevion 2024-01-28 06:00:17 -06:00
  • 4ec69b0053 Fix Until format in RRule(), add comments to MeetingTime struct Xevion 2024-01-28 05:59:45 -06:00
  • 3a54387881 Fix ICS version Xevion 2024-01-28 05:58:55 -06:00
  • c38d7715f5 Add more response sample data Xevion 2024-01-28 05:58:43 -06:00
  • 3f98a5d5d6 Add NewCalendar helper, make timezone string constant, add version constant Xevion 2024-01-28 05:03:35 -06:00
  • 6ccc00eda3 Add ICS module Xevion 2024-01-28 05:03:07 -06:00
  • 80c0ed47d3 Setup Rrule helper methods for MeetingTimeResponse Xevion 2024-01-28 05:02:51 -06:00
  • 0fb7ab3e0d Add comments to various SearchResult attributes, add SectionAttributes, fix Faculty Xevion 2024-01-28 04:24:06 -06:00
  • dcf51986a7 Respond to interaction with error feedback on command handler fail Xevion 2024-01-28 04:23:29 -06:00
  • 5347c07b0c Add command ideas to feature wishlist, CRN/partOfTerm analysis goals Xevion 2024-01-28 04:21:49 -06:00