diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-08-21 22:25:23 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-08-21 22:25:23 -0400 |
commit | 6b72931ba729bf6ede33cfa6877a5ad21e913c45 (patch) | |
tree | 83281f1a498b3cb855a68c78a4bb336b79e797bb /discord/discord.cpp | |
parent | 6f11aa4dae4c7334b150752f5cf8d270ce746d9c (diff) | |
download | abaddon-portaudio-6b72931ba729bf6ede33cfa6877a5ad21e913c45.tar.gz abaddon-portaudio-6b72931ba729bf6ede33cfa6877a5ad21e913c45.zip |
send chat messages
Diffstat (limited to 'discord/discord.cpp')
-rw-r--r-- | discord/discord.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp index a7d2993..9aa8eed 100644 --- a/discord/discord.cpp +++ b/discord/discord.cpp @@ -117,6 +117,14 @@ const MessageData *DiscordClient::GetMessage(Snowflake id) const { return &m_messages.at(id); } +void DiscordClient::SendChatMessage(std::string content, Snowflake channel) { + // @([^@#]{1,32})#(\\d{4}) + CreateMessageObject obj; + obj.Content = content; + nlohmann::json j = obj; + m_http.MakePOST("/channels/" + std::to_string(channel) + "/messages", j.dump(), [](auto) {}); +} + void DiscordClient::UpdateToken(std::string token) { m_token = token; m_http.SetAuth(token); @@ -173,7 +181,7 @@ void DiscordClient::HandleGatewayReady(const GatewayMessage &msg) { m_user_settings = data.UserSettings; } -void DiscordClient::HandleGatewayMessageCreate(const GatewayMessage& msg) { +void DiscordClient::HandleGatewayMessageCreate(const GatewayMessage &msg) { MessageData data = msg.Data; StoreMessage(data.ID, data); m_abaddon->DiscordNotifyMessageCreate(data.ID); @@ -442,6 +450,10 @@ void to_json(nlohmann::json &j, const HeartbeatMessage &m) { j["d"] = m.Sequence; } +void to_json(nlohmann::json &j, const CreateMessageObject &m) { + j["content"] = m.Content; +} + Snowflake::Snowflake() : m_num(Invalid) {} |