Send embeds!

This commit is contained in:
SeanOMik 2020-06-20 01:33:45 -05:00
parent b608f7dfd3
commit 8843b25906
No known key found for this signature in database
GPG Key ID: FA4D55AC05268A88
2 changed files with 15 additions and 5 deletions

View File

@ -1,4 +1,4 @@
import json, discordobject, user, options, nimcordutils, message, httpcore, asyncdispatch, asyncfutures, permission
import json, discordobject, user, options, nimcordutils, message, httpcore, asyncdispatch, asyncfutures, permission, embed
type
ChannelType* = enum
@ -131,10 +131,13 @@ proc newInvite*(json: JsonNode): Invite {.inline.} =
return invite
#TODO: Embeds, and files
proc sendMessage*(channel: Channel, content: string, tts: bool = false): Message =
#TODO: Files
proc sendMessage*(channel: Channel, content: string, tts: bool = false, embed: Embed = nil): Message =
## Send a message through the channel.
let messagePayload = %*{"content": content, "tts": tts}
var messagePayload = %*{"content": content, "tts": tts}
if (not embed.isNil()):
messagePayload.add("embed", embed.embedJson)
return newMessage(sendRequest(endpoint("/channels/" & $channel.id & "/messages"), HttpPost,
defaultHeaders(newHttpHeaders({"Content-Type": "application/json"})), channel.id,

View File

@ -1,6 +1,6 @@
import websocket, asyncdispatch, json, httpClient, eventdispatcher, strformat
import eventhandler, streams, nimcordutils, discordobject, user, cache, clientobjects
import strutils, channel, options, message, emoji, guild
import strutils, channel, options, message, emoji, guild, embed
const
nimcordMajor = 0
@ -174,6 +174,13 @@ registerEventListener(EventType.evtMessageCreate, proc(bEvt: BaseEvent) =
let emojis = @[newEmoji("⏮️"), newEmoji("⬅️"), newEmoji("⏹️"), newEmoji("➡️"), newEmoji("⏭️")]
for emoji in emojis:
discard event.message.addReaction(emoji)
elif (event.message.content.startsWith("?testEmbed")):
var channel: Channel = event.message.getMessageChannel(event.client.cache)
if (channel != nil):
var embed = Embed()
embed.setTitle("This embed is being sent from Nimcord!")
embed.setDescription("Nimcord was developed in about a week of actual work so there will likely be issues.")
discard channel.sendMessage("", false, embed)
)
waitFor bot.startConnection()