summaryrefslogtreecommitdiff
path: root/src/commands/response_error.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/response_error.hpp')
-rw-r--r--src/commands/response_error.hpp25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/commands/response_error.hpp b/src/commands/response_error.hpp
index b57deea..e91a4fd 100644
--- a/src/commands/response_error.hpp
+++ b/src/commands/response_error.hpp
@@ -22,7 +22,9 @@ namespace bot {
SOMETHING_WENT_WRONG,
EXTERNAL_API_ERROR,
- INSUFFICIENT_RIGHTS
+ INSUFFICIENT_RIGHTS,
+
+ ILLEGAL_COMMAND
};
template <ResponseError T, class Enable = void>
@@ -79,9 +81,10 @@ namespace bot {
};
template <ResponseError T>
- class ResponseException<
- T, typename std::enable_if<T == SOMETHING_WENT_WRONG ||
- T == INSUFFICIENT_RIGHTS>::type>
+ class ResponseException<T,
+ typename std::enable_if<T == SOMETHING_WENT_WRONG ||
+ T == INSUFFICIENT_RIGHTS ||
+ T == ILLEGAL_COMMAND>::type>
: public std::exception {
public:
ResponseException(const command::Request &request,
@@ -89,10 +92,16 @@ namespace bot {
: request(request), localizator(localizator), error(T) {
loc::LineId line_id;
- if (this->error == INSUFFICIENT_RIGHTS) {
- line_id = loc::LineId::ErrorInsufficientRights;
- } else {
- line_id = loc::LineId::ErrorSomethingWentWrong;
+ switch (this->error) {
+ case INSUFFICIENT_RIGHTS:
+ line_id = loc::LineId::ErrorInsufficientRights;
+ break;
+ case ILLEGAL_COMMAND:
+ line_id = loc::LineId::ErrorIllegalCommand;
+ break;
+ default:
+ line_id = loc::LineId::ErrorSomethingWentWrong;
+ break;
}
this->line =