19 #ifndef IRCCD_DAEMON_RULE_SERVICE_HPP
20 #define IRCCD_DAEMON_RULE_SERVICE_HPP
27 #include <irccd/sysconfig.hpp>
50 std::vector<rule> rules_;
118 std::string_view origin,
120 std::string_view
event) noexcept ->
bool;
132 template <
typename T>
Read .ini configuration file for irccd.
Definition: config.hpp:39
Irccd main instance.
Definition: bot.hpp:58
Abstract plugin.
Definition: plugin.hpp:61
Store and solve rules.
Definition: rule_service.hpp:47
auto require(std::size_t position) const -> const rule &
auto list() const noexcept -> const std::vector< rule > &
void load(const config &cfg) noexcept
auto solve(std::string_view server, std::string_view channel, std::string_view origin, std::string_view plugin, std::string_view event) noexcept -> bool
void remove(std::size_t position)
void insert(rule rule, std::size_t position)
The class that connect to a IRC server.
Definition: server.hpp:256
std::variant< std::monostate, connect_event, disconnect_event, invite_event, join_event, kick_event, me_event, message_event, mode_event, names_event, nick_event, notice_event, part_event, topic_event, whois_event > event
Store all possible events.
Definition: server.hpp:247
Parent namespace.
Definition: acceptor.hpp:43
A channel to join with an optional password.
Definition: server.hpp:63
static auto get_component(const rule &rule) -> std::string_view
static auto get_category(const rule &rule) -> std::string_view
Traits for loggable objects.
Definition: logger.hpp:78
Manage rule to activate or deactive events.
Definition: rule.hpp:39