e8893646f0
add config values
Compile the repository / compile (pull_request) Successful in 12s
Run unit tests / test (pull_request) Successful in 10s
2023-07-05 23:22:25 +02:00
e61b3a7b16
split vote message handling
2023-07-05 23:22:13 +02:00
9383cee4a0
scaffolding for poll reroll function
2023-07-05 23:22:01 +02:00
0748097a1f
refactor datestring function
2023-07-05 23:21:44 +02:00
4cd9c771f0
transfer many poll functions to VoteController
2023-07-05 22:55:24 +02:00
8c3cf7829b
use branded types for messageType determination
2023-07-05 22:54:43 +02:00
1a13638ed9
linting
Compile the repository / compile (pull_request) Successful in 1m0s
Run unit tests / test (pull_request) Successful in 1m33s
2023-06-27 20:34:20 +02:00
c351e27fdd
perform vote message check in reaction handler
Compile the repository / compile (pull_request) Successful in 1m15s
Run unit tests / test (pull_request) Successful in 1m26s
2023-06-27 20:23:36 +02:00
6d3bea169e
return on bot reaction
2023-06-27 20:23:22 +02:00
3f071c8a4e
remove duplicate check for none_of_that vote
2023-06-27 20:22:44 +02:00
98d1ca73b5
fix newRequestId function
Compile the repository / compile (pull_request) Successful in 1m15s
Run unit tests / test (pull_request) Successful in 1m29s
2023-06-27 20:19:42 +02:00
ee742018e9
adds comment to fetchAnnouncementChannelMessage
Run unit tests / test (pull_request) Successful in 1m54s
Compile the repository / compile (pull_request) Successful in 57s
2023-06-27 20:08:39 +02:00
8ad651c753
prepare unicode representation of emoji for cleaner handling as pure ASCII
...
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
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
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
Compile the repository / compile (pull_request) Successful in 1m12s
2023-06-24 21:09:56 +02:00
8a06a661fa
adjust some files to new formatting
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
Compile the repository / compile (pull_request) Successful in 4m8s
2023-06-23 19:30:17 +02:00
45d87275bf
prevent announcement when description contains !private
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
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
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
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
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
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
...
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
...
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
...
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
...
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
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