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`
The scripting capabilities is locked behind a cmake flag, and is not enabled by default.
Co-authored-by: nerix <nerixdev@outlook.de>
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
Thanks Greenlandicsmiley, Nerixyz, Yoitsu, and helmak for helping debug & test this
* Remove QMediaPlayer includes
* Prefer local path when generating the sound path
* Update changelog entry number
* Disable pitch & spatialization control
* Add working reconnect recent messages
* Rename method to messagesUpdated
* Use audo declarations
* Add docs to new LimitedQueue methods
* Add more documentation, try atomic loading flag
* Update CHANGELOG.md
* Remove unused include
* Rename 'reconnected' signal to 'connected'
* Reserve before filtering on arbitrary update
* Extract recent messages fetching to own class
* Use std::atomic_flag instead of std::atomic_bool
* Add PostToThread include
* Add chatterino.recentmessages logging
* Remove unneeded parameters, lambda move capture
* Remove TwitchChannel::buildRecentMessages
* Add documentation, use more clear method name
* Reword changelog entry
I think it sounds better like this :)
* Rework how filling in missing messages is handled
This should hopefully prevent issues with filtered channels with old messages
that no longer exist in the underlying channel
* Check existing messages when looking for reply
* Clean up string distribution in file
* Try to improve documentation
* Use std::function for RecentMessagesApi
* Only trigger filledInMessages if we inserted
* Remove old unused lines
* Use make_shared<MessageLayout> instead of new MessageLayout
* Alphabetize QLogging categories
* Reorder CHANGELOG.md