#pragma once #include #include #include #include "common/SignalVector.hpp" #include "controllers/commands/Command.hpp" namespace chatterino { class Channel; class CommandModel; class CommandController { public: CommandController(); QString execCommand(const QString &text, std::shared_ptr channel, bool dryRun); QStringList getDefaultTwitchCommandList(); void load(); void save(); CommandModel *createModel(QObject *parent); UnsortedSignalVector items; private: QMap commandsMap; std::mutex mutex; QString filePath; QString execCustomCommand(const QStringList &words, const Command &command); }; } // namespace chatterino