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`
* tests: Add QString/QStringView << operators for std::ostream
This makes it easier to print QString/QStringView's in ASSERT_EQ outputs
* tests: clean up toStdString usages
* fix: use QByteArray.toStdString instead
* Remove unused `setAccountData` function
* Move PubSub out of TwitchIrcServer and into Application
* Add changelog entry
* fix: assert feedback
* Add PubSub::unlistenPrefix as per review suggestion
* Fix tests
* quit pubsub on exit
might conflict with exit removal, so can be reverted but this shows it's possible
* Don't manually call stop on clients, it's called when the connection is closed
* nit: rename `mainThread` to `thread`
* Join in a thread!!!!!!!!
* EmptyApplication: Add asserts to rest of getters (except for getSeventvAPI)
* Theme: make getTheme call getIApp()->getThemes() instead
this allows it to be used in tests
realistically this should be deprecated & users of it should just call
getIApp()->getThemes() directly
* Use getIApp() instead of getApp() in a few places
Fixed some language ✨stuff✨.
Added alternative to httpbin.
Updated expected space requirement on Windows.
Removed unused VS component on Windows.
Moved Qt Creator formatting to Windows docs.
Updated nativs link to Qt 6.
Added missing language to code blocks.
Removed # Description from PR template and added instructions to fix a GitHub issue.
Co-authored-by: Wissididom <30803034+Wissididom@users.noreply.github.com>
Co-authored-by: pajlada <rasmus.karlsson+github@pajlada.com>
This changes the `make coverage` function to use `gcovr` instead of `lcov`, and to have it generate an html file directly at `coverage/index.html` under the build directory
The only thing this changes, other than adding tests, is making the `Expression` class pure virtual. Every derived class should implement each of the functions
* Add a few pre-made sanitizer suppressions
* Test Sanitization: Fix threading issues
* Test Sanitization: Allow deletion of PubSub
We still don't delete it in main code, but this allows us to try
deleting it in tests.
* Test Sanitization: Fix some memory leaks
* fix gtest clang-tidy warning
* const emojis test :-)
* Tests: Fix InputCompletion tests in Qt6
This is achieved by not checking exact order for certain completion tests
* Tests: Use Ubuntu 22.04 for all tests
This allows us to be a bit more loose and use more C++20 features in
tests
* Update dockerfiles
* feat: more hype chat
* Add `std::chrono::seconds` overload to formatTime
* Move & rename it to HypeChat + some other mini things
* Add changelog entry
* fix formattime test
---------
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>