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:
@@ -19,6 +19,11 @@ public:
|
||||
|
||||
virtual ~EmptyApplication() = default;
|
||||
|
||||
bool isTest() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
const Paths &getPaths() override
|
||||
{
|
||||
return this->paths_;
|
||||
@@ -137,7 +142,7 @@ public:
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Logging *getChatLogger() override
|
||||
ILogging *getChatLogger() override
|
||||
{
|
||||
assert(!"getChatLogger was called without being initialized");
|
||||
return nullptr;
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
|
||||
#include "providers/links/LinkResolver.hpp"
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
namespace chatterino::mock {
|
||||
|
||||
class LinkResolver : public ILinkResolver
|
||||
{
|
||||
public:
|
||||
LinkResolver() = default;
|
||||
~LinkResolver() override = default;
|
||||
|
||||
MOCK_METHOD(void, resolve, (LinkInfo * info), (override));
|
||||
};
|
||||
|
||||
class EmptyLinkResolver : public ILinkResolver
|
||||
{
|
||||
public:
|
||||
EmptyLinkResolver() = default;
|
||||
~EmptyLinkResolver() override = default;
|
||||
|
||||
void resolve(LinkInfo *info) override
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace chatterino::mock
|
||||
@@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
|
||||
#include "singletons/Logging.hpp"
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
namespace chatterino::mock {
|
||||
|
||||
class Logging : public ILogging
|
||||
{
|
||||
public:
|
||||
Logging() = default;
|
||||
~Logging() override = default;
|
||||
|
||||
MOCK_METHOD(void, addMessage,
|
||||
(const QString &channelName, MessagePtr message,
|
||||
const QString &platformName),
|
||||
(override));
|
||||
};
|
||||
|
||||
class EmptyLogging : public ILogging
|
||||
{
|
||||
public:
|
||||
EmptyLogging() = default;
|
||||
~EmptyLogging() override = default;
|
||||
|
||||
void addMessage(const QString &channelName, MessagePtr message,
|
||||
const QString &platformName) override
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace chatterino::mock
|
||||
Reference in New Issue
Block a user