Commit Graph

212 Commits

Author SHA1 Message Date
Sammy e774474a55 Put role handling in background task scheduled at startup 2023-06-13 18:58:41 +02:00
Sammy 24754decf4 implement announcement role management by reaction 2023-06-13 18:18:26 +02:00
Sammy a2c55ad676 restrict announcements to admins 2023-06-12 22:34:39 +02:00
Sammy e50cb10c5b implement slash command for announcement 2023-06-12 22:21:10 +02:00
kenobi acc38fdcb0 Merge pull request 'Add automatic creation of vote message with random movies' (#16) from feat/voting into master
Reviewed-on: #16
2023-06-12 21:00:16 +02:00
Sammy fdc0fc47b5 removed unnecessary guildId: from logger calls 2023-06-12 20:36:05 +02:00
Sammy f3669ec34f move collection id of movies into configurations 2023-06-12 20:31:52 +02:00
Sammy c0369fcb49 Fetch announcement channel at server start 2023-06-12 20:27:54 +02:00
Sammy 40d220ed7b refactor: use date-fns for date comparison 2023-06-12 19:43:33 +02:00
Sammy 117ff23a0c remove typecast to unknown
Somehow I thought it was necessary because the compiler said it at some point
2023-06-11 15:42:31 +02:00
Sammy 550aa53188 make closepoll return when no channel found 2023-06-11 09:12:14 +02:00
Sammy 1ee55f995c minor resilience improvement and formatting
in closepoll.ts was an unsafe arrays usage without checking the bounds
2023-06-11 09:01:25 +02:00
Sammy 0d5c3d30a9 Fix loggers
Some logger messages were missing requestId and guildId
2023-06-10 22:58:00 +02:00
Sammy c2d8838cf8 polls will be closed automatically 2 days before event start 2023-06-10 22:53:11 +02:00
Sammy c8fa89ae63 Add command to close the poll and update the event 2023-06-10 17:27:59 +02:00
Sammy 2707f7d73b Add automatic creation of vote message with random movies
When a !nextwp event is created the bot will fetch random movies and create a message that people can vote on
2023-06-10 14:23:10 +02:00
kenobi 2c5bf1272e Merge pull request 'Fix edgecases for automatic user creation' (#15) from fix/user_accounts into master
Reviewed-on: #15
2023-06-10 00:04:43 +02:00
Sammy 1e1ab93667 Fix edgecases for automatic user creation
- make eventdescription !wp case insensitive

- Create accounts for users in channel without subscription when event starts

- Make sent messages caused by VoiceState event dependant on creation result (created, enabled)

- Create tmp user if normal user exists but is disabled
2023-06-09 23:56:45 +02:00
kenobi 8f1c6e10fa Merge pull request 'add guides' (#14) from buttons into master
Reviewed-on: #14
2023-06-09 22:23:51 +02:00
Sammy c0b24ee3ad restructuring 2023-06-09 22:01:38 +02:00
Sammy 3e152864fd complete guides 2023-06-09 21:30:24 +02:00
mightypanders 24c120a890 add /guides interaction with buttons 2023-06-09 16:16:23 +02:00
Sammy 8ae5fd2c1b Merge pull request 'add 'mitgucken' guide on how to join JF Syncplay group' (#12) from feat/guide into master
Reviewed-on: #12
2023-06-08 20:02:59 +02:00
mightypanders 0aef525994 initialize attachmentImages ahead of time, to be reused 2023-06-08 19:34:48 +02:00
mightypanders 0ba867b23a add 'mitgucken' guide on how to join JF Syncplay group 2023-06-08 19:11:00 +02:00
mightypanders 3294d9ca77 make jf roles configurable via env vars 2023-06-08 17:10:06 +02:00
Sammy e234e9f68f Merge pull request 'Logging and ephemeral messages' (#11) from dev into master
Reviewed-on: #11
2023-06-08 00:19:14 +02:00
mightypanders 84a0d7bbe1 turn all slash command replies into an ephemeral message
Setting ephemeral has to happen in an initial reply (reply() or
deferReply()) to set the mode for all replies in this 'thread'. Once the
ephemeral state of a message has been set it can not be changed. If you
want to send a visible message after an ephemeral message it has to be
new message. See https://discordjs.guide/slash-commands/response-methods.html#ephemeral-responses
2023-06-06 23:27:41 +02:00
mightypanders efd4d69c74 add ids to logging 2023-06-06 23:27:07 +02:00
Sammy 64c5874249 further handling of automatic user adding/deleting 2023-06-04 16:35:43 +02:00
Sammy 892562cd0b Automatically create and disable users based on watch event 2023-06-04 15:02:03 +02:00
Sammy d3fff38e36 implemented handling of password resets 2023-06-04 03:14:45 +02:00
Sammy 11dac10a07 Added handler for password reset command 2023-06-04 03:10:33 +02:00
Sammy 7e37641e0b finally use request id 2023-06-04 01:09:24 +02:00
Sammy 5db37b0e95 handler now creates and disables/enables users 2023-06-04 01:09:24 +02:00
mightypanders 2a03cd7589 add event to handle incoming interaction creation events
every fired slash command is actually an event which needs to be handled
and deferred to the correct command interaction handler.
2023-06-04 01:00:04 +02:00
Sammy 4917fe11da fix authentication by not authenticating 2023-06-03 22:06:23 +02:00
Sammy f91157467d fix start phase 2023-06-03 22:04:31 +02:00
mightypanders c400895450 update client 2023-05-04 23:38:51 +02:00
mightypanders 3ae97b6f66 fix memberupdate 2023-05-04 23:38:34 +02:00
mightypanders 389d8387ee remove useraccount handler 2023-05-04 23:38:20 +02:00
mightypanders 2e99a98e2d nvmrc, package updates 2023-05-04 23:38:11 +02:00
mightypanders 08996386ca jellyfin api -> fetch 2023-05-04 23:37:47 +02:00
mightypanders 8e3f62c670 WIP: update user, remove user 2023-04-20 20:54:20 +02:00
mightypanders 3494a6ea14 extend maybe type 2023-04-20 20:54:07 +02:00
mightypanders b01700df6c WIP: use guildmember in jf handler, start user creation 2023-04-18 23:46:26 +02:00
mightypanders 4ff8c83cdf WIP: handle update of user, determine changed roles and hand over to JF 2023-04-18 23:45:36 +02:00
mightypanders b17d0144df temp remove addUser wrapper function 2023-04-18 23:45:09 +02:00
mightypanders f18357351c nodemon install 2023-04-18 23:44:50 +02:00
mightypanders 257f7e775d export jellyfinhandler 2023-04-18 23:44:42 +02:00