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:
@@ -16,13 +16,22 @@ struct Message;
|
||||
using MessagePtr = std::shared_ptr<const Message>;
|
||||
class LoggingChannel;
|
||||
|
||||
class Logging
|
||||
class ILogging
|
||||
{
|
||||
public:
|
||||
virtual ~ILogging() = default;
|
||||
|
||||
virtual void addMessage(const QString &channelName, MessagePtr message,
|
||||
const QString &platformName) = 0;
|
||||
};
|
||||
|
||||
class Logging : public ILogging
|
||||
{
|
||||
public:
|
||||
Logging(Settings &settings);
|
||||
|
||||
void addMessage(const QString &channelName, MessagePtr message,
|
||||
const QString &platformName);
|
||||
const QString &platformName) override;
|
||||
|
||||
private:
|
||||
using PlatformName = QString;
|
||||
|
||||
Reference in New Issue
Block a user