1
0
Fork 0
mirror of https://github.com/diamondburned/arikawa.git synced 2025-07-26 23:40:57 +00:00

Compare commits

...

2 commits

Author SHA1 Message Date
Samuel Hernandez 231b4759dc api: allow searching DMs 2024-07-14 14:46:59 +07:00
Samuel Hernandez 0ec9fe5ace discord: add URL method to Channel 2024-07-14 12:42:27 +07:00
2 changed files with 27 additions and 0 deletions

View file

@ -35,3 +35,15 @@ func (c *Client) Search(guildID discord.GuildID, data SearchData) (SearchRespons
httputil.WithSchema(c, data), httputil.WithSchema(c, data),
) )
} }
// SearchDirectMessages searches through a direct message channel.
// SearchData.ChannelID must be a valid channel ID.
func (c *Client) SearchDirectMessages(data SearchData) (SearchResponse, error) {
var resp SearchResponse
return resp, c.RequestJSON(
&resp, "GET",
EndpointChannels+data.ChannelID.String()+"/messages/search",
httputil.WithSchema(c, data),
)
}

View file

@ -1,6 +1,7 @@
package discord package discord
import ( import (
"fmt"
"strconv" "strconv"
"strings" "strings"
"time" "time"
@ -161,6 +162,20 @@ func (ch Channel) Mention() string {
return ch.ID.Mention() return ch.ID.Mention()
} }
// URL generates a Discord client URL to the channel. If the channel doesn't
// have a GuildID, it will generate a URL with the guild "@me".
func (c Channel) URL() string {
var guildID = "@me"
if c.GuildID.IsValid() {
guildID = c.GuildID.String()
}
return fmt.Sprintf(
"https://discord.com/channels/%s/%s",
guildID, c.ID.String(),
)
}
// IconURL returns the URL to the channel icon in the PNG format. // IconURL returns the URL to the channel icon in the PNG format.
// An empty string is returned if there's no icon. // An empty string is returned if there's no icon.
func (ch Channel) IconURL() string { func (ch Channel) IconURL() string {