diff options
| author | ilotterytea <iltsu@alright.party> | 2024-04-21 01:14:09 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2024-04-21 01:14:09 +0500 |
| commit | edcf0fd1b942531ac0c6a6442fa5ad21096fe218 (patch) | |
| tree | f9ec31fc3d18be67276c7f7c7288a5ecd3296ddb /src/irc/message.cpp | |
| parent | 09daf1148d2f546bde040105a112ae50b1402e89 (diff) | |
feat: irc message parser
Diffstat (limited to 'src/irc/message.cpp')
| -rw-r--r-- | src/irc/message.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/irc/message.cpp b/src/irc/message.cpp new file mode 100644 index 0000000..123a0da --- /dev/null +++ b/src/irc/message.cpp @@ -0,0 +1,30 @@ +#include "message.hpp" + +#include <optional> +#include <string> +#include <vector> + +namespace RedpilledBot { + namespace IRC { + std::optional<MessageType> define_message_type(const std::string &msg) { + std::vector<std::string> parts = split_text(msg, ' '); + int i; + + if (msg[0] == '@') { + i = 2; + } else if (msg[0] == ':') { + i = 1; + } else { + return std::nullopt; + } + + if (parts[i] == "NOTICE") { + return MessageType::Notice; + } else if (parts[i] == "PRIVMSG") { + return MessageType::Privmsg; + } + + return std::nullopt; + } + } +} |
