mirror of
https://github.com/diamondburned/arikawa.git
synced 2024-12-02 20:02:53 +00:00
37 lines
1.2 KiB
Go
37 lines
1.2 KiB
Go
package api
|
|
|
|
import (
|
|
"github.com/diamondburned/arikawa/v3/discord"
|
|
"github.com/diamondburned/arikawa/v3/utils/httputil"
|
|
)
|
|
|
|
type SearchData struct {
|
|
Offset uint `schema:"offset,omitempty"`
|
|
Content string `schema:"content,omitempty"`
|
|
Has string `schema:"has,omitempty"`
|
|
SortBy string `schema:"sort_by,omitempty"`
|
|
SortOrder string `schema:"sort_order,omitempty"`
|
|
ChannelID discord.ChannelID `schema:"channel_id,omitempty"`
|
|
AuthorID discord.UserID `schema:"author_id,omitempty"`
|
|
Mentions discord.UserID `schema:"mentions,omitempty"`
|
|
MaxID discord.MessageID `schema:"max_id,omitempty"`
|
|
MinID discord.MessageID `schema:"min_id,omitempty"`
|
|
}
|
|
|
|
type SearchResponse struct {
|
|
AnalyticsID string `json:"analytics_id"`
|
|
Messages [][]discord.Message `json:"messages"`
|
|
TotalResults uint `json:"total_results"`
|
|
}
|
|
|
|
// Search searches through a guild's messages. It only works for user accounts.
|
|
func (c *Client) Search(guildID discord.GuildID, data SearchData) (SearchResponse, error) {
|
|
var resp SearchResponse
|
|
|
|
return resp, c.RequestJSON(
|
|
&resp, "GET",
|
|
EndpointGuilds+guildID.String()+"/messages/search",
|
|
httputil.WithSchema(c, data),
|
|
)
|
|
}
|