Commit Graph

451 Commits

Author SHA1 Message Date
2547techno 93fbcbbe5f fix plugin http types & docs (#5494) 2024-07-06 00:02:21 +00:00
nerix 189be8c68f chore: remove old Qt 5.12 code, update docs and FreeBSD runner (#5396)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-06-23 12:26:59 +00:00
iProdigy c01bfcfffe feat: add /warn command (#5474) 2024-06-22 10:36:29 +00:00
Mm2PL c980162656 Introduce HTTP API for plugins (#5383) 2024-06-22 10:04:30 +00:00
nerix 052dbd7d2c fix: check state when completing commands (#5401) 2024-06-19 12:46:54 +00:00
pajlada f111b0f08d chore: unsingletonize SoundController (#5462) 2024-06-16 13:44:08 +00:00
pajlada c9a0691f53 chore: unsingletonize UserDataController (#5459)
The `user-data.json` file will save immediately on change, and on exit
(on dtor) if necessary. So we don't need to manually call save
2024-06-16 11:59:12 +00:00
pajlada 9b31246502 feat: allow timeout-related commands to be used in multiple channels (#5402)
This changes the behaviour of the following commands:
 - `/ban`
 - `/timeout`
 - `/untimeout`
 - `/unban`

All of those commands now accept one or more `--channel` parameters to override which channel the action should take place in.
The `--channel` parameter accepts a channel ID or channel name with the same syntax as the other "user targets" do (e.g. `id:11148817` or `pajlada`)

examples
Ban user in the chat you're typing in:  
`/ban weeb123`

Ban user in the chat you're typing in, with a reason specified:  
`/ban weeb123 the ban reason`

Ban user in a separate chat, with a reason specified:  
`/ban --channel pajlada weeb123 the ban reason`

Ban user in two separate chats, with a reason specified:  
`/ban --channel pajlada --channel id:117166826 weeb123 the ban reason`


Timeout user in the chat you're typing in:  
`/timeout weeb123`

Timeout user in the chat you're typing in, with a reason specified:  
`/timeout weeb123 10m the timeout reason`

Timeout user in a separate chat, with a reason specified:  
`/timeout --channel pajlada weeb123 10m the timeout reason`

Timeout user in two separate chats, with a reason specified:  
`/timeout --channel pajlada --channel id:117166826 weeb123 10m the timeout reason`


Unban user in the chat you're typing in:  
`/unban weeb123`

Unban user in a separate chat:  
`/unban --channel pajlada weeb123`

Unban user in two separate chats:  
`/unban --channel pajlada --channel id:117166826 weeb123`
2024-06-16 12:22:51 +02:00
JakeRYW 25284fc703 Improved error messaging for Update Channel API (#5429) 2024-06-09 11:15:25 +00:00
pajlada b6dc5d9e03 chore: refactor TwitchIrcServer (#5421) 2024-06-01 12:56:40 +00:00
nerix ec6b1ef24d fix(luals-meta): generate globals in c2 and echo @lua commands (#5385)
Co-authored-by: Mm2PL <miau@mail.kotmisia.pl>
2024-05-22 15:23:33 +02:00
Mm2PL 614a1c469f Added flags.action filter variable (#5397)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-05-18 09:56:36 +00:00
Mm2PL c3b84cb4b6 Add custom image functionality for inline mod buttons. (#5369)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-05-11 10:54:27 +00:00
pajlada 694d53ad20 Fix some documentations & comments (#5286)
* add comments for the new reward filters

* slightly improve documentation of r9k values
2024-03-31 11:07:43 +00:00
nerix c1bd5d11d0 refactor: improve LuaLS generator (#5283) 2024-03-30 22:11:52 +01:00
Mm2PL d4b8feac7d lua: Change CompletionRequested handler to use an event table. (#5280) 2024-03-30 14:23:02 +00:00
Mm2PL 69bdac9936 Add reward.cost reward.id, reward.title filter variables (#5275) 2024-03-30 11:28:49 +00:00
nerix ed20e71db4 refactor: adapt magic_enum to Qt (#5258) 2024-03-23 11:22:42 +00:00
pajlada 3563ecb3a5 fix: Compile Lua as a C library (#5251) 2024-03-16 14:15:05 +00:00
Arne fc61e8d64d feat: add /announce[color] commands (#5250) 2024-03-14 20:36:58 +01:00
pajlada 9d02fa14ed fix: Don't attempt to put the broadcaster username at the top (#5244) 2024-03-10 10:49:13 +00:00
Mm2PL 658fceddaa Add plugin permissions and IO API (#5231) 2024-03-09 19:16:25 +00:00
pajlada 2361d30e4b fix: compare settings before updating them (#5240) 2024-03-09 15:03:26 +00:00
KleberPF c50791972d Add highlight color and show in mentions to automod messages (#5215) 2024-03-09 11:03:36 +00:00
Mm2PL 8cea86cf17 Fix rerun flag not being unset after stream finishes (#5237) 2024-03-09 11:22:23 +01:00
nerix c1fa51242f refactor: turn StreamerMode into a singleton(-like thing) (#5216) 2024-03-01 21:12:02 +01:00
Mm2PL a737d4b755 Introduce c2.later() function to Lua API. (#5154) 2024-02-25 11:45:59 +00:00
KleberPF 86111d59b6 Add option always include broadcaster in user completions (#5193) 2024-02-24 13:21:29 +00:00
pajlada dcd6179434 fix: /openurl can now open urls with spaces, assuming the url allows it (#5197)
This allows for commands like `/openurl https://www.deepl.com/en/translator#auto/en/{1+}` that previously worked
2024-02-24 11:27:24 +00:00
Mm2PL a5ac06124d Update plugin documentation document (#5185)
* Add blurb about LuaLS type definitions

* Add c2.Channel documentation replacing c2.send_msg and c2.system_msg

* Use snake_case for command names in examples

to align to Lua naming convention

* Unrelated: add missing ChannelType
2024-02-18 21:09:19 +00:00
Mm2PL 4a4f62dc4a Make Lua CommandContext use a ChannelRef (#5184) 2024-02-18 19:55:00 +00:00
KleberPF 3cdb7bf4f6 fix: resolve /live channel liveness using their channel ID (#5172) 2024-02-17 11:22:49 +00:00
Mm2PL 8e9aa87a08 Add a new Channel API for experimental plugins feature (#5141) 2024-02-03 19:12:00 +01:00
pajlada 0393146187 feat: Allow /openurl to force use private/non-private mode (#5149)
Examples:
 - /openurl https://twitch.tv/forsen
   with the setting "Open links in incognito/private mode" enabled
   Opens https://twitch.tv/forsen in private mode
 - /openurl https://twitch.tv/forsen
   with the setting "Open links in incognito/private mode" disabled
   Opens https://twitch.tv/forsen in normal mode
 - /openurl https://twitch.tv/forsen --private
   with the setting "Open links in incognito/private mode" disabled
   Opens https://twitch.tv/forsen in private mode
 - /openurl https://twitch.tv/forsen --no-private
   with the setting "Open links in incognito/private mode" enabled
   Opens https://twitch.tv/forsen in normal mode
2024-02-03 11:39:05 +00:00
pajlada 5628605de4 refactor: Move Emotes to Application (#5120) 2024-01-21 13:20:21 +00:00
pajlada 84a61fdad2 refactor: remove ColorProvider::setColor (#5112)
We now either:
1) Rely on the setting updating the color
2) Use ColorProvider::color to set the underlying color
2024-01-20 14:51:13 +00:00
pajlada 97702e0a1f refactor: make Application::emotes private (#5109) 2024-01-20 10:49:32 +00:00
pajlada 4380ef8c5f refactor: Remove most raw accesses into Application (#5104) 2024-01-19 17:59:55 +01:00
pajlada 11838c8e16 refactor: Move TwitchBadges to Application (#5096)
* refactor: Move TwitchBadges to Application

* refactor: Use named initializers

* refactor: Use `empty()` instead of `size() > 0`

* refactor: use emplace instead of push into the callback queue
2024-01-17 23:53:10 +01:00
pajlada 718696db53 refactor: Un-singletonize Paths & Updates (#5092) 2024-01-16 20:56:43 +00:00
pajlada 93e2bc18fa refactor: move Network files from src/common/ to src/common/network/ (#5089) 2024-01-15 21:28:44 +01:00
pajlada 5b6675abb4 refactor: fix clang-tidy auto*, const&, and curly braces (#5083) 2024-01-14 17:54:52 +01:00
nerix f42ae07408 dev: Add RecentMessages benchmark (#5071)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-07 12:15:36 +00:00
nerix 78a7ebb9f9 Improve color selection and display (#5057)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-06 20:52:29 +00:00
iProdigy 693d4f401d feat: add badges, emotes, and filters for suspicious messages (#5060)
* feat: show chat badges on suspicious user messages

* feat: display emotes in suspicious user messages

* feat: add search filters for suspicious messages

* chore: update changelog

* refactor: resolve initial nits

* fix: finish adding new filter identifier

* Comment the new message flags

* Add a list of known issues to low trust update messages

* fix: Keep shared-pointerness of the channel

Without this change, we would have the possibility of using the
TwitchChannel after the Channel itself has gone out of scope, albeit not
realistically since we just post this to a thread and parse it - there's
no networking or big delays involved. but this shows the intent better

---------

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-06 13:22:00 +00:00
fraxx 4a0ef08a00 Added missing periods at mod-related messages and some system messages (#5061)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-01-03 12:24:23 +01:00
Mm2PL 69a54d944d Autogenerate docs/plugin-meta.lua (#5055) 2023-12-30 10:26:19 +00:00
nerix 9a2c27d258 Allow customization of whisper colors in settings (#5053) 2023-12-29 20:52:35 +00:00
pajlada d085ab578f refactor: Make Args less of a singleton (#5041)
This means it's no longer a singleton, and its lifetime is bound to our application.
This felt like a good small experiment to see how its changes would look
if we did this.
As a shortcut, `getApp` that is already a mega singleton keeps a
reference to Args, this means places that are a bit more difficult to
inject into call `getApp()->getArgs()` just like other things are
accessed.
2023-12-29 15:40:31 +01:00
iProdigy eb12cfa50b feat: add sound and flash alert for automod caught messages (#5026)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2023-12-25 23:17:44 +00:00