Commit Graph

137 Commits

Author SHA1 Message Date
8ad651c753 prepare unicode representation of emoji for cleaner handling as pure ASCII
All checks were successful
Compile the repository / compile (pull_request) Successful in 1m45s
Run unit tests / test (pull_request) Successful in 1m34s
emoji handling in editors and browsers is iffy, as such a pure ascii code base is easier to handle (imho)
2023-06-26 23:51:14 +02:00
a4a834ad27 refactor reaction handling
- rename
- externalise handling of none_of_that to vote controller
- base for extensions for more reaction handling
2023-06-26 23:48:52 +02:00
e8dcfd8340 add votecontroller to consolidate handling of votes 2023-06-26 23:47:43 +02:00
d9d1d74ef9 WIP: basic handling of adding a reaction to a message and deciding whether to reroll or not
All checks were successful
Compile the repository / compile (pull_request) Successful in 1m21s
Run unit tests / test (pull_request) Successful in 1m53s
2023-06-25 22:49:21 +02:00
331ff89060 fetch all message from announcement channel on start
This is necessary because message sent before the bot has started up are not cached and reactions will not be registered.
If the messages are cached manually the reactions will be received and can be processed using the regular event handling
2023-06-25 22:48:55 +02:00
f6476c609b fetch members of roleId from guild 2023-06-25 22:47:06 +02:00
6220268b14 move emotes and reaction constants 2023-06-25 22:46:46 +02:00
b6034d4fb7 use message identifiers 2023-06-25 02:20:45 +02:00
ca0a9e3cb8 more message identifiers 2023-06-25 02:20:34 +02:00
b8a32aab40 stub for reactionhandling
All checks were successful
Compile the repository / compile (pull_request) Successful in 1m14s
Run unit tests / test (pull_request) Successful in 1m38s
2023-06-25 01:57:40 +02:00
e3e755011d add messageIdentifier helper 2023-06-25 01:57:30 +02:00
5a6c66cb3e export newRequestId from logger 2023-06-25 01:57:14 +02:00
66f843b399 format more files
All checks were successful
Compile the repository / compile (pull_request) Successful in 1m12s
2023-06-24 21:09:56 +02:00
8a06a661fa adjust some files to new formatting
All checks were successful
Compile the repository / compile (pull_request) Successful in 1m28s
2023-06-24 21:05:43 +02:00
2d32f9b680 format many files 2023-06-24 20:56:58 +02:00
61544feaba Fix stupid timezone issues 2023-06-23 23:46:11 +02:00
fa9998e92c Unallow transcoding per default for new users 2023-06-23 21:23:54 +02:00
3a5ea5d4ff improve message clarity when no start date in event found
All checks were successful
Compile the repository / compile (pull_request) Successful in 4m8s
2023-06-23 19:30:17 +02:00
45d87275bf prevent announcement when description contains !private
All checks were successful
Compile the repository / compile (pull_request) Successful in 1m43s
2023-06-23 15:56:36 +02:00
31e440434e properly clean up wp announcements without event only 2023-06-23 15:51:48 +02:00
5b98c9bf2f Rename event files to specific case
We can add multiple eventhandlers per eventname. To avoid confusion and large files and to improve concise file names the event files were renamed
2023-06-23 14:37:41 +02:00
9da8f47784 add event box to vote closed message
All checks were successful
Compile the repository / compile (pull_request) Successful in 1m18s
2023-06-22 19:38:59 +02:00
e8c58d5ff8 add event box to create message 2023-06-22 19:35:47 +02:00
8569a3e1e6 Create option "none of that" in voting
All checks were successful
Compile the repository / compile (pull_request) Successful in 1m19s
2023-06-22 18:53:29 +02:00
59f5b34e5a Merge branch 'master' into fix/movie_names_and_background_task
All checks were successful
Compile the repository / compile (push) Successful in 1m31s
2023-06-19 11:19:17 +02:00
670a64af22 Check if less than 2 days between create and start for deciding if to close
All checks were successful
Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m9s
2023-06-17 13:18:52 +02:00
4cc332820f prevent poll close if event is less than 24h old
All checks were successful
Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m15s
2023-06-17 13:03:48 +02:00
07849d331a move scheduling of pollclose task to startup
All checks were successful
Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m37s
Also moved check function to closepoll.ts
2023-06-17 12:00:14 +02:00
7899aac5ce adjust server connection message
All checks were successful
Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m22s
remove extraneous repetition of the server address
2023-06-17 01:20:01 +02:00
26c2d91252 fix and refactor mitgucken guide
All checks were successful
Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m16s
- reorder account acquisition in front of login
- rebox explainrole function
- adjust external reference to function
2023-06-17 01:13:33 +02:00
d6300e8bec improve movie name resolving
All checks were successful
Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m55s
When creating the poll the bot will now only request movie names instead of movies
This improves the errorhandling because the movie names cannot be null
Also the movieName function filters empty movienames and will guarantee the requested number of names
2023-06-16 20:15:36 +02:00
2fae61fc1f change announcement message to specify MOVIE watchparties
All checks were successful
Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m16s
2023-06-15 22:33:42 +02:00
71ffc6ba50 use yavin to get random movies 2023-06-15 22:33:22 +02:00
d22e38efbf fix build 2023-06-15 22:02:37 +02:00
5b99c843b4 Fix PR and linting issues 2023-06-15 21:56:15 +02:00
9420eb4366 Change announcements
All announcements but initial will be deleted upon event end.
Vote announcement will be deleted upon vote end
Vote and vote end announcement now contain date and time
2023-06-14 22:24:39 +02:00
220f9dc8ef undo fetching role to get roleID
We already have the role id?!?!?
2023-06-14 19:45:33 +02:00
198a25d145 ping watch role when voting starts and closes 2023-06-13 23:15:03 +02:00
baefcf9bb9 add options for announcements 2023-06-13 21:12:32 +02:00
a5eab2f7be fix bug that reactions are not loaded after restart
the message needed to be fetched again. Probably something with caches..
2023-06-13 20:13:13 +02:00
e774474a55 Put role handling in background task scheduled at startup 2023-06-13 18:58:41 +02:00
24754decf4 implement announcement role management by reaction 2023-06-13 18:18:26 +02:00
a2c55ad676 restrict announcements to admins 2023-06-12 22:34:39 +02:00
e50cb10c5b implement slash command for announcement 2023-06-12 22:21:10 +02:00
fdc0fc47b5 removed unnecessary guildId: from logger calls 2023-06-12 20:36:05 +02:00
f3669ec34f move collection id of movies into configurations 2023-06-12 20:31:52 +02:00
c0369fcb49 Fetch announcement channel at server start 2023-06-12 20:27:54 +02:00
40d220ed7b refactor: use date-fns for date comparison 2023-06-12 19:43:33 +02:00
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
550aa53188 make closepoll return when no channel found 2023-06-11 09:12:14 +02:00
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
0d5c3d30a9 Fix loggers
Some logger messages were missing requestId and guildId
2023-06-10 22:58:00 +02:00
c2d8838cf8 polls will be closed automatically 2 days before event start 2023-06-10 22:53:11 +02:00
c8fa89ae63 Add command to close the poll and update the event 2023-06-10 17:27:59 +02:00
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
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
c0b24ee3ad restructuring 2023-06-09 22:01:38 +02:00
3e152864fd complete guides 2023-06-09 21:30:24 +02:00
24c120a890 add /guides interaction with buttons 2023-06-09 16:16:23 +02:00
0aef525994 initialize attachmentImages ahead of time, to be reused 2023-06-08 19:34:48 +02:00
0ba867b23a add 'mitgucken' guide on how to join JF Syncplay group 2023-06-08 19:11:00 +02:00
3294d9ca77 make jf roles configurable via env vars 2023-06-08 17:10:06 +02:00
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
efd4d69c74 add ids to logging 2023-06-06 23:27:07 +02:00
64c5874249 further handling of automatic user adding/deleting 2023-06-04 16:35:43 +02:00
892562cd0b Automatically create and disable users based on watch event 2023-06-04 15:02:03 +02:00
d3fff38e36 implemented handling of password resets 2023-06-04 03:14:45 +02:00
11dac10a07 Added handler for password reset command 2023-06-04 03:10:33 +02:00
7e37641e0b finally use request id 2023-06-04 01:09:24 +02:00
5db37b0e95 handler now creates and disables/enables users 2023-06-04 01:09:24 +02:00
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
4917fe11da fix authentication by not authenticating 2023-06-03 22:06:23 +02:00
c400895450 update client 2023-05-04 23:38:51 +02:00
3ae97b6f66 fix memberupdate 2023-05-04 23:38:34 +02:00
389d8387ee remove useraccount handler 2023-05-04 23:38:20 +02:00
08996386ca jellyfin api -> fetch 2023-05-04 23:37:47 +02:00
3494a6ea14 extend maybe type 2023-04-20 20:54:07 +02:00
4ff8c83cdf WIP: handle update of user, determine changed roles and hand over to JF 2023-04-18 23:45:36 +02:00
b17d0144df temp remove addUser wrapper function 2023-04-18 23:45:09 +02:00
4ae5989fd5 add interfaces 2023-04-18 23:44:31 +02:00
c28b37b0e9 add function to filter the role changes from member update 2023-04-18 23:44:14 +02:00
901daa4f10 use jf handler in client 2023-04-16 02:03:39 +02:00
75aae28cbb scaffold adduser function 2023-04-16 02:02:40 +02:00
ddefd2ef2a fix failure dm 2023-04-16 02:02:22 +02:00
f5be22fb6f rework config and logger 2023-04-16 02:02:15 +02:00
e17c7601da delete unused files 2023-04-16 02:01:56 +02:00
3d2022d1dd bot base 2023-04-15 22:06:35 +02:00