527 lines
21 KiB
Go
527 lines
21 KiB
Go
package tgapi
|
||
|
||
// BanChatMemberP holds parameters for the banChatMember method.
|
||
// See https://core.telegram.org/bots/api#banchatmember
|
||
type BanChatMemberP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
UntilDate int `json:"until_date,omitempty"`
|
||
RevokeMessages bool `json:"revoke_messages,omitempty"`
|
||
}
|
||
|
||
// BanChatMember bans a user in a chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#banchatmember
|
||
func (api *API) BanChatMember(params BanChatMemberP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("banChatMember", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// UnbanChatMemberP holds parameters for the unbanChatMember method.
|
||
// See https://core.telegram.org/bots/api#unbanchatmember
|
||
type UnbanChatMemberP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
OnlyIfBanned bool `json:"only_if_banned"`
|
||
}
|
||
|
||
// UnbanChatMember unbans a previously banned user in a chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#unbanchatmember
|
||
func (api *API) UnbanChatMember(params UnbanChatMemberP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("unbanChatMember", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// RestrictChatMemberP holds parameters for the restrictChatMember method.
|
||
// See https://core.telegram.org/bots/api#restrictchatmember
|
||
type RestrictChatMemberP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
Permissions ChatPermissions `json:"permissions"`
|
||
UseIndependentChatPermissions bool `json:"use_independent_chat_permissions,omitempty"`
|
||
UntilDate int `json:"until_date,omitempty"`
|
||
}
|
||
|
||
// RestrictChatMember restricts a user in a chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#restrictchatmember
|
||
func (api *API) RestrictChatMember(params RestrictChatMemberP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("restrictChatMember", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// PromoteChatMember holds parameters for the promoteChatMember method.
|
||
// See https://core.telegram.org/bots/api#promotechatmember
|
||
type PromoteChatMember struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
IsAnonymous bool `json:"is_anonymous,omitempty"`
|
||
|
||
CanManageChat bool `json:"can_manage_chat,omitempty"`
|
||
CanDeleteMessages bool `json:"can_delete_messages,omitempty"`
|
||
CanManageVideoChats bool `json:"can_manage_video_chats,omitempty"`
|
||
CanRestrictMembers bool `json:"can_restrict_members,omitempty"`
|
||
CanPromoteMembers bool `json:"can_promote_members,omitempty"`
|
||
CanChangeInfo bool `json:"can_change_info,omitempty"`
|
||
CanInviteUsers bool `json:"can_invite_users,omitempty"`
|
||
CanPostStories bool `json:"can_post_stories,omitempty"`
|
||
CanEditStories bool `json:"can_edit_stories,omitempty"`
|
||
CanDeleteStories bool `json:"can_delete_stories,omitempty"`
|
||
CanPostMessages bool `json:"can_post_messages,omitempty"`
|
||
CanEditMessages bool `json:"can_edit_messages,omitempty"`
|
||
CanPinMessages bool `json:"can_pin_messages,omitempty"`
|
||
CanManageTopics bool `json:"can_manage_topics,omitempty"`
|
||
CanManageDirectMessages bool `json:"can_manage_direct_messages,omitempty"`
|
||
CanManageTags bool `json:"can_manage_tags,omitempty"`
|
||
}
|
||
|
||
// PromoteChatMember promotes or demotes a user in a chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#promotechatmember
|
||
func (api *API) PromoteChatMember(params PromoteChatMember) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("promoteChatMember", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// SetChatAdministratorCustomTitleP holds parameters for the setChatAdministratorCustomTitle method.
|
||
// See https://core.telegram.org/bots/api#setchatadministratorcustomtitle
|
||
type SetChatAdministratorCustomTitleP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
CustomTitle string `json:"custom_title"`
|
||
}
|
||
|
||
// SetChatAdministratorCustomTitle sets a custom title for an administrator.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#setchatadministratorcustomtitle
|
||
func (api *API) SetChatAdministratorCustomTitle(params SetChatAdministratorCustomTitleP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("setChatAdministratorCustomTitle", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// SetChatMemberTagP holds parameters for the setChatMemberTag method.
|
||
// See https://core.telegram.org/bots/api#setchatmembertag
|
||
type SetChatMemberTagP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
Tag string `json:"tag,omitempty"`
|
||
}
|
||
|
||
// SetChatMemberTag sets a tag for a chat member.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#setchatmembertag
|
||
func (api *API) SetChatMemberTag(params SetChatMemberTagP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("setChatMemberTag", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// BanChatSenderChatP holds parameters for the banChatSenderChat method.
|
||
// See https://core.telegram.org/bots/api#banchatsenderchat
|
||
type BanChatSenderChatP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
SenderChatID int64 `json:"sender_chat_id"`
|
||
}
|
||
|
||
// BanChatSenderChat bans a channel chat in a supergroup or channel.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#banchatsenderchat
|
||
func (api *API) BanChatSenderChat(params BanChatSenderChatP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("banChatSenderChat", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// UnbanChatSenderChatP holds parameters for the unbanChatSenderChat method.
|
||
// See https://core.telegram.org/bots/api#unbanchatsenderchat
|
||
type UnbanChatSenderChatP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
SenderChatID int64 `json:"sender_chat_id"`
|
||
}
|
||
|
||
// UnbanChatSenderChat unbans a previously banned channel chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#unbanchatsenderchat
|
||
func (api *API) UnbanChatSenderChat(params UnbanChatSenderChatP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("unbanChatSenderChat", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// SetChatPermissionsP holds parameters for the setChatPermissions method.
|
||
// See https://core.telegram.org/bots/api#setchatpermissions
|
||
type SetChatPermissionsP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
Permissions ChatPermissions `json:"permissions"`
|
||
UseIndependentChatPermissions bool `json:"use_independent_chat_permissions,omitempty"`
|
||
}
|
||
|
||
// SetChatPermissions sets default chat permissions for all members.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#setchatpermissions
|
||
func (api *API) SetChatPermissions(params SetChatPermissionsP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("setChatPermissions", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// ExportChatInviteLinkP holds parameters for the exportChatInviteLink method.
|
||
// See https://core.telegram.org/bots/api#exportchatinvitelink
|
||
type ExportChatInviteLinkP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
}
|
||
|
||
// ExportChatInviteLink generates a new primary invite link for a chat.
|
||
// Returns the new invite link as string.
|
||
// See https://core.telegram.org/bots/api#exportchatinvitelink
|
||
func (api *API) ExportChatInviteLink(params ExportChatInviteLinkP) (string, error) {
|
||
req := NewRequestWithChatID[string]("exportChatInviteLink", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// CreateChatInviteLinkP holds parameters for the createChatInviteLink method.
|
||
// See https://core.telegram.org/bots/api#createchatinvitelink
|
||
type CreateChatInviteLinkP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
Name *string `json:"name,omitempty"`
|
||
ExpireDate int `json:"expire_date,omitempty"`
|
||
MemberLimit int `json:"member_limit,omitempty"`
|
||
CreatesJoinRequest int `json:"creates_join_request,omitempty"`
|
||
}
|
||
|
||
// CreateChatInviteLink creates an additional invite link for a chat.
|
||
// Returns the created invite link.
|
||
// See https://core.telegram.org/bots/api#createchatinvitelink
|
||
func (api *API) CreateChatInviteLink(params CreateChatInviteLinkP) (ChatInviteLink, error) {
|
||
req := NewRequestWithChatID[ChatInviteLink]("createChatInviteLink", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// EditChatInviteLinkP holds parameters for the editChatInviteLink method.
|
||
// See https://core.telegram.org/bots/api#editchatinvitelink
|
||
type EditChatInviteLinkP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
InviteLink string `json:"invite_link"`
|
||
|
||
Name string `json:"name,omitempty"`
|
||
ExpireDate int `json:"expire_date,omitempty"`
|
||
MemberLimit int `json:"member_limit,omitempty"`
|
||
CreatesJoinRequest int `json:"creates_join_request,omitempty"`
|
||
}
|
||
|
||
// EditChatInviteLink edits a non‑primary invite link.
|
||
// Returns the edited invite link.
|
||
// See https://core.telegram.org/bots/api#editchatinvitelink
|
||
func (api *API) EditChatInviteLink(params EditChatInviteLinkP) (ChatInviteLink, error) {
|
||
req := NewRequestWithChatID[ChatInviteLink]("editChatInviteLink", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// CreateChatSubscriptionInviteLinkP holds parameters for the createChatSubscriptionInviteLink method.
|
||
// See https://core.telegram.org/bots/api#createchatsubscriptioninvitelink
|
||
type CreateChatSubscriptionInviteLinkP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
Name string `json:"name,omitempty"`
|
||
SubscriptionPeriod int `json:"subscription_period,omitempty"`
|
||
SubscriptionPrice int `json:"subscription_price,omitempty"`
|
||
}
|
||
|
||
// CreateChatSubscriptionInviteLink creates a subscription invite link for a channel chat.
|
||
// Returns the created invite link.
|
||
// See https://core.telegram.org/bots/api#createchatsubscriptioninvitelink
|
||
func (api *API) CreateChatSubscriptionInviteLink(params CreateChatSubscriptionInviteLinkP) (ChatInviteLink, error) {
|
||
req := NewRequestWithChatID[ChatInviteLink]("createChatSubscriptionInviteLink", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// EditChatSubscriptionInviteLinkP holds parameters for the editChatSubscriptionInviteLink method.
|
||
// See https://core.telegram.org/bots/api#editchatsubscriptioninvitelink
|
||
type EditChatSubscriptionInviteLinkP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
InviteLink string `json:"invite_link"`
|
||
Name string `json:"name,omitempty"`
|
||
}
|
||
|
||
// EditChatSubscriptionInviteLink edits a subscription invite link.
|
||
// Returns the edited invite link.
|
||
// See https://core.telegram.org/bots/api#editchatsubscriptioninvitelink
|
||
func (api *API) EditChatSubscriptionInviteLink(params EditChatSubscriptionInviteLinkP) (ChatInviteLink, error) {
|
||
req := NewRequestWithChatID[ChatInviteLink]("editChatSubscriptionInviteLink", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// RevokeChatInviteLinkP holds parameters for the revokeChatInviteLink method.
|
||
// See https://core.telegram.org/bots/api#revokechatinvitelink
|
||
type RevokeChatInviteLinkP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
InviteLink string `json:"invite_link"`
|
||
}
|
||
|
||
// RevokeChatInviteLink revokes an invite link.
|
||
// Returns the revoked invite link object.
|
||
// See https://core.telegram.org/bots/api#revokechatinvitelink
|
||
func (api *API) RevokeChatInviteLink(params RevokeChatInviteLinkP) (ChatInviteLink, error) {
|
||
req := NewRequestWithChatID[ChatInviteLink]("revokeChatInviteLink", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// ApproveChatJoinRequestP holds parameters for the approveChatJoinRequest method.
|
||
// See https://core.telegram.org/bots/api#approvechatjoinrequest
|
||
type ApproveChatJoinRequestP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
}
|
||
|
||
// ApproveChatJoinRequest approves a chat join request.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#approvechatjoinrequest
|
||
func (api *API) ApproveChatJoinRequest(params ApproveChatJoinRequestP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("approveChatJoinRequest", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// DeclineChatJoinRequestP holds parameters for the declineChatJoinRequest method.
|
||
// See https://core.telegram.org/bots/api#declinechatjoinrequest
|
||
type DeclineChatJoinRequestP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
}
|
||
|
||
// DeclineChatJoinRequest declines a chat join request.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#declinechatjoinrequest
|
||
func (api *API) DeclineChatJoinRequest(params DeclineChatJoinRequestP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("declineChatJoinRequest", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// SetChatPhoto is a stub method (needs implementation).
|
||
// Currently incomplete.
|
||
func (api *API) SetChatPhoto() {
|
||
uploader := NewUploader(api)
|
||
defer func() {
|
||
_ = uploader.Close()
|
||
}()
|
||
}
|
||
|
||
// DeleteChatPhotoP holds parameters for the deleteChatPhoto method.
|
||
// See https://core.telegram.org/bots/api#deletechatphoto
|
||
type DeleteChatPhotoP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
}
|
||
|
||
// DeleteChatPhoto deletes a chat photo.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#deletechatphoto
|
||
func (api *API) DeleteChatPhoto(params DeleteChatPhotoP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("deleteChatPhoto", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// SetChatTitleP holds parameters for the setChatTitle method.
|
||
// See https://core.telegram.org/bots/api#setchattitle
|
||
type SetChatTitleP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
Title string `json:"title"`
|
||
}
|
||
|
||
// SetChatTitle changes the chat title.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#setchattitle
|
||
func (api *API) SetChatTitle(params SetChatTitleP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("setChatTitle", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// SetChatDescriptionP holds parameters for the setChatDescription method.
|
||
// See https://core.telegram.org/bots/api#setchatdescription
|
||
type SetChatDescriptionP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
Description string `json:"description"`
|
||
}
|
||
|
||
// SetChatDescription changes the chat description.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#setchatdescription
|
||
func (api *API) SetChatDescription(params SetChatDescriptionP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("setChatDescription", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// PinChatMessageP holds parameters for the pinChatMessage method.
|
||
// See https://core.telegram.org/bots/api#pinchatmessage
|
||
type PinChatMessageP struct {
|
||
BusinessConnectionID *string `json:"business_connection_id,omitempty"`
|
||
ChatID int64 `json:"chat_id"`
|
||
MessageID int `json:"message_id"`
|
||
DisableNotification bool `json:"disable_notification,omitempty"`
|
||
}
|
||
|
||
// PinChatMessage pins a message in a chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#pinchatmessage
|
||
func (api *API) PinChatMessage(params PinChatMessageP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("pinChatMessage", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// UnpinChatMessageP holds parameters for the unpinChatMessage method.
|
||
// See https://core.telegram.org/bots/api#unpinchatmessage
|
||
type UnpinChatMessageP struct {
|
||
BusinessConnectionID *string `json:"business_connection_id,omitempty"`
|
||
ChatID int64 `json:"chat_id"`
|
||
MessageID int `json:"message_id"`
|
||
}
|
||
|
||
// UnpinChatMessage unpins a message in a chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#unpinchatmessage
|
||
func (api *API) UnpinChatMessage(params UnpinChatMessageP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("unpinChatMessage", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// UnpinAllChatMessagesP holds parameters for the unpinAllChatMessages method.
|
||
// See https://core.telegram.org/bots/api#unpinallchatmessages
|
||
type UnpinAllChatMessagesP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
}
|
||
|
||
// UnpinAllChatMessages unpins all pinned messages in a chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#unpinallchatmessages
|
||
func (api *API) UnpinAllChatMessages(params UnpinAllChatMessagesP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("unpinAllChatMessages", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// LeaveChatP holds parameters for the leaveChat method.
|
||
// See https://core.telegram.org/bots/api#leavechat
|
||
type LeaveChatP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
}
|
||
|
||
// LeaveChat makes the bot leave a chat.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#leavechat
|
||
func (api *API) LeaveChat(params LeaveChatP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("leaveChat", params, params.ChatID) // fixed method name
|
||
return req.Do(api)
|
||
}
|
||
|
||
// GetChatP holds parameters for the getChat method.
|
||
// See https://core.telegram.org/bots/api#getchat
|
||
type GetChatP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
}
|
||
|
||
// GetChat gets up‑to‑date information about a chat.
|
||
// See https://core.telegram.org/bots/api#getchat
|
||
func (api *API) GetChat(params GetChatP) (ChatFullInfo, error) {
|
||
req := NewRequestWithChatID[ChatFullInfo]("getChat", params, params.ChatID) // fixed method name
|
||
return req.Do(api)
|
||
}
|
||
|
||
// GetChatAdministratorsP holds parameters for the getChatAdministrators method.
|
||
// See https://core.telegram.org/bots/api#getchatadministrators
|
||
type GetChatAdministratorsP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
}
|
||
|
||
// GetChatAdministrators returns a list of administrators in a chat.
|
||
// See https://core.telegram.org/bots/api#getchatadministrators
|
||
func (api *API) GetChatAdministrators(params GetChatAdministratorsP) ([]ChatMember, error) {
|
||
req := NewRequestWithChatID[[]ChatMember]("getChatAdministrators", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// GetChatMembersCountP holds parameters for the getChatMemberCount method.
|
||
// See https://core.telegram.org/bots/api#getchatmembercount
|
||
type GetChatMembersCountP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
}
|
||
|
||
// GetChatMemberCount returns the number of members in a chat.
|
||
// See https://core.telegram.org/bots/api#getchatmembercount
|
||
func (api *API) GetChatMemberCount(params GetChatMembersCountP) (int, error) {
|
||
req := NewRequestWithChatID[int]("getChatMemberCount", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// GetChatMemberP holds parameters for the getChatMember method.
|
||
// See https://core.telegram.org/bots/api#getchatmember
|
||
type GetChatMemberP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
}
|
||
|
||
// GetChatMember returns information about a member of a chat.
|
||
// See https://core.telegram.org/bots/api#getchatmember
|
||
func (api *API) GetChatMember(params GetChatMemberP) (ChatMember, error) {
|
||
req := NewRequestWithChatID[ChatMember]("getChatMember", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// SetChatStickerSetP holds parameters for the setChatStickerSet method.
|
||
// See https://core.telegram.org/bots/api#setchatstickerset
|
||
type SetChatStickerSetP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
StickerSetName string `json:"sticker_set_name"`
|
||
}
|
||
|
||
// SetChatStickerSet associates a sticker set with a supergroup.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#setchatstickerset
|
||
func (api *API) SetChatStickerSet(params SetChatStickerSetP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("setChatStickerSet", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// DeleteChatStickerSetP holds parameters for the deleteChatStickerSet method.
|
||
// See https://core.telegram.org/bots/api#deletechatstickerset
|
||
type DeleteChatStickerSetP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
}
|
||
|
||
// DeleteChatStickerSet deletes a sticker set from a supergroup.
|
||
// Returns True on success.
|
||
// See https://core.telegram.org/bots/api#deletechatstickerset
|
||
func (api *API) DeleteChatStickerSet(params DeleteChatStickerSetP) (bool, error) {
|
||
req := NewRequestWithChatID[bool]("deleteChatStickerSet", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// GetUserChatBoostsP holds parameters for the getUserChatBoosts method.
|
||
// See https://core.telegram.org/bots/api#getuserchatboosts
|
||
type GetUserChatBoostsP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
UserID int `json:"user_id"`
|
||
}
|
||
|
||
// GetUserChatBoosts returns the list of boosts a user has given to a chat.
|
||
// See https://core.telegram.org/bots/api#getuserchatboosts
|
||
func (api *API) GetUserChatBoosts(params GetUserChatBoostsP) (UserChatBoosts, error) {
|
||
req := NewRequestWithChatID[UserChatBoosts]("getUserChatBoosts", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|
||
|
||
// GetChatGiftsP holds parameters for the getChatGifts method.
|
||
// See https://core.telegram.org/bots/api#getchatgifts
|
||
type GetChatGiftsP struct {
|
||
ChatID int64 `json:"chat_id"`
|
||
ExcludeUnsaved bool `json:"exclude_unsaved,omitempty"`
|
||
ExcludeSaved bool `json:"exclude_saved,omitempty"`
|
||
ExcludeUnlimited bool `json:"exclude_unlimited,omitempty"`
|
||
ExcludeLimitedUpgradable bool `json:"exclude_limited_upgradable,omitempty"`
|
||
ExcludeLimitedNonUpgradable bool `json:"exclude_limited_non_upgradable,omitempty"`
|
||
ExcludeUnique bool `json:"exclude_unique,omitempty"`
|
||
ExcludeFromBlockchain bool `json:"exclude_from_blockchain,omitempty"`
|
||
SortByPrice bool `json:"sort_by_price,omitempty"`
|
||
Offset string `json:"offset,omitempty"`
|
||
Limit int `json:"limit,omitempty"`
|
||
}
|
||
|
||
// GetChatGifts returns gifts owned by a chat.
|
||
// See https://core.telegram.org/bots/api#getchatgifts
|
||
func (api *API) GetChatGifts(params GetChatGiftsP) (OwnedGifts, error) {
|
||
req := NewRequestWithChatID[OwnedGifts]("getChatGifts", params, params.ChatID)
|
||
return req.Do(api)
|
||
}
|