summaryrefslogtreecommitdiff
path: root/discord/discord.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'discord/discord.cpp')
-rw-r--r--discord/discord.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/discord/discord.cpp b/discord/discord.cpp
index 4fa1a63..1461a74 100644
--- a/discord/discord.cpp
+++ b/discord/discord.cpp
@@ -345,12 +345,18 @@ bool DiscordClient::CanManageMember(Snowflake guild_id, Snowflake actor, Snowfla
return actor_highest->Position > target_highest->Position;
}
-void DiscordClient::SendChatMessage(std::string content, Snowflake channel) {
+void DiscordClient::SendChatMessage(const 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) {});
+ m_http.MakePOST("/channels/" + std::to_string(channel) + "/messages", nlohmann::json(obj).dump(), [](auto &) {});
+}
+
+void DiscordClient::SendChatMessage(const std::string &content, Snowflake channel, Snowflake referenced_message) {
+ CreateMessageObject obj;
+ obj.Content = content;
+ obj.MessageReference.emplace().MessageID = referenced_message;
+ m_http.MakePOST("/channels/" + std::to_string(channel) + "/messages", nlohmann::json(obj).dump(), [](auto &) {});
}
void DiscordClient::DeleteMessage(Snowflake channel_id, Snowflake id) {