mirror of
https://github.com/diamondburned/arikawa.git
synced 2024-11-27 17:23:00 +00:00
api: Add search endpoint (#236)
Co-authored-by: Terra Brown <superloach42@gmail.com>
This commit is contained in:
parent
8e4e48e25e
commit
7bc2be1498
37
api/search.go
Normal file
37
api/search.go
Normal file
|
@ -0,0 +1,37 @@
|
|||
package api
|
||||
|
||||
import (
|
||||
"github.com/diamondburned/arikawa/v3/discord"
|
||||
"github.com/diamondburned/arikawa/v3/utils/httputil"
|
||||
"github.com/diamondburned/arikawa/v3/utils/json/option"
|
||||
)
|
||||
|
||||
type SearchData struct {
|
||||
Offset option.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),
|
||||
)
|
||||
}
|
Loading…
Reference in a new issue