mirror of
https://github.com/diamondburned/arikawa.git
synced 2024-11-30 18:53:30 +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