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`
This commit is contained in:
+10
-2
@@ -35,6 +35,7 @@ class PluginController;
|
||||
|
||||
class Theme;
|
||||
class WindowManager;
|
||||
class ILogging;
|
||||
class Logging;
|
||||
class Paths;
|
||||
class Emotes;
|
||||
@@ -64,6 +65,8 @@ public:
|
||||
|
||||
static IApplication *instance;
|
||||
|
||||
virtual bool isTest() const = 0;
|
||||
|
||||
virtual const Paths &getPaths() = 0;
|
||||
virtual const Args &getArgs() = 0;
|
||||
virtual Theme *getThemes() = 0;
|
||||
@@ -80,7 +83,7 @@ public:
|
||||
virtual ITwitchIrcServer *getTwitch() = 0;
|
||||
virtual IAbstractIrcServer *getTwitchAbstract() = 0;
|
||||
virtual PubSub *getTwitchPubSub() = 0;
|
||||
virtual Logging *getChatLogger() = 0;
|
||||
virtual ILogging *getChatLogger() = 0;
|
||||
virtual IChatterinoBadges *getChatterinoBadges() = 0;
|
||||
virtual FfzBadges *getFfzBadges() = 0;
|
||||
virtual SeventvBadges *getSeventvBadges() = 0;
|
||||
@@ -121,6 +124,11 @@ public:
|
||||
Application &operator=(const Application &) = delete;
|
||||
Application &operator=(Application &&) = delete;
|
||||
|
||||
bool isTest() const override
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* In the interim, before we remove _exit(0); from RunGui.cpp,
|
||||
* this will destroy things we know can be destroyed
|
||||
@@ -191,7 +199,7 @@ public:
|
||||
ITwitchIrcServer *getTwitch() override;
|
||||
IAbstractIrcServer *getTwitchAbstract() override;
|
||||
PubSub *getTwitchPubSub() override;
|
||||
Logging *getChatLogger() override;
|
||||
ILogging *getChatLogger() override;
|
||||
FfzBadges *getFfzBadges() override;
|
||||
SeventvBadges *getSeventvBadges() override;
|
||||
IUserDataController *getUserData() override;
|
||||
|
||||
Reference in New Issue
Block a user