Versions in this module Expand all Collapse all v1 v1.1.0 Aug 2, 2026 Changes in this version type GoldenPaySession + func (s *GoldenPaySession) DeleteOffer(nodeID, offerID int64) error + func (s *GoldenPaySession) LeaveReview(orderID string, rating int, text string) (*RunnerResponse, error) + func (s *GoldenPaySession) RefundOrder(orderID string) (*RunnerResponse, error) + type NewMessageWebhook struct + ChatID string + Text string + type NewOrderWebhook struct + Amount float64 + ID string type Urls + func (u *Urls) OrderReview() string + func (u *Urls) OrdersRefund() string + type WebhookEvent struct + NewMessage *NewMessageWebhook + NewOrder *NewOrderWebhook + Payload WebhookPayload + Type WebhookEventType + type WebhookEventType string + const EventNewMessage + const EventNewOrder + const EventRaw v1.0.2 Jul 23, 2026 v1.0.1 Jul 23, 2026 Changes in this version + var ErrAlreadyDelivered = &DeliveryError + var ErrMessageSendFailed = &DeliveryError + var ErrOrderNotPaid = &DeliveryError + var ErrProductNotFound = &DeliveryError + func HMACSHA256(key, data []byte) []byte + func IsAuthError(err error) bool + func VerifyHMAC(key, data, signature []byte) bool + func WebhookSignature(secret string, body []byte) string + type BotOptions struct + AutoWelcomeMessage string + EmitMessagesForNewOrders bool + IgnoreOwnMessages bool + SleepNodeOffers [][2]int64 + SleepScheduleEnd int + SleepScheduleStart int + func DefaultBotOptions() BotOptions + type BotState struct + SeenMessages map[string]int64 + SeenOrders []string + type CategoryFilter struct + FilterType string + ID string + Name string + Options []CategoryFilterOption + type CategoryFilterOption struct + Label string + Value string + type CategoryNode struct + Children []CategoryNode + ID int64 + Name string + SubcategoryType *string + type CategorySubcategory struct + ID int64 + IsActive bool + Name string + OfferCount int + SubcategoryType string + type ChatMessage struct + AuthorID int64 + ChatID string + ID int64 + Text string + type DeliveredOrderRecord struct + Delivered []DeliveryItem + OrderID string + ProductKey string + Status DeliveryRecordStatus + type DeliveryError struct + Kind string + Message string + func (e *DeliveryError) Error() string + type DeliveryItem struct + Value string + type DeliveryItemFormat int + const ItemFormatCodeBlock + const ItemFormatNumbered + const ItemFormatPlainLines + type DeliveryMatch struct + Items []DeliveryItem + ProductKey string + type DeliveryMessageBuilder struct + Footer string + Greeting string + IncludeOrderID bool + IncludeProductKey bool + Intro string + ItemFormat DeliveryItemFormat + Template string + func NewDeliveryMessageBuilder() *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) BuildMessage(order *OrderInfo, result *DeliveryResult) string + func (b *DeliveryMessageBuilder) FormatItems(items []DeliveryItem) string + func (b *DeliveryMessageBuilder) NoFooter() *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) NoTemplate() *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) SetFooter(v string) *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) SetGreeting(v string) *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) SetIncludeOrderID(v bool) *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) SetIncludeProductKey(v bool) *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) SetIntro(v string) *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) SetItemFormat(v DeliveryItemFormat) *DeliveryMessageBuilder + func (b *DeliveryMessageBuilder) SetTemplate(v string) *DeliveryMessageBuilder + type DeliveryMessenger interface + SendDeliveryMessage func(chatID, text string) (*RunnerResponse, error) + type DeliveryRecordStatus string + const RecordDelivered + const RecordPending + type DeliveryResult struct + Delivered []DeliveryItem + OrderID string + ProductKey string + type DeliveryService struct + Products map[string]*ProductInventory + func NewDeliveryService() *DeliveryService + func (s *DeliveryService) AddProduct(key string, items []DeliveryItem) + func (s *DeliveryService) Deliver(matcher ProductMatcher, order *OrderInfo) (*DeliveryResult, error) + func (s *DeliveryService) DeliverOrder(matcher ProductMatcher, store DeliveryStore, order *OrderInfo) (*DeliveryResult, error) + func (s *DeliveryService) MatchOrder(matcher ProductMatcher, order *OrderInfo) (*DeliveryMatch, error) + func (s *DeliveryService) ProcessPaidOrder(matcher ProductMatcher, store DeliveryStore, messenger DeliveryMessenger, ...) (*ProcessPaidOrderResult, error) + func (s *DeliveryService) ReleaseReserved(reserved *ReservedDelivery) + func (s *DeliveryService) RemainingItems(productKey string) int + func (s *DeliveryService) Reserve(matcher ProductMatcher, order *OrderInfo) (*ReservedDelivery, error) + type DeliveryStore interface + ClaimPending func(result *DeliveryResult) error + CommitDelivered func(result *DeliveryResult) error + ContainsOrder func(orderID string) (bool, error) + ReleasePending func(orderID string) error + type ErrorKind int + const ErrDelivery + const ErrHTTP + const ErrIO + const ErrMissingGoldenKey + const ErrParse + const ErrState + const ErrUnauthorized + type EventStream struct + SeenMessages map[string]int64 + SeenOrders map[string]struct{} + func (s *EventStream) ShouldEmitMessage(msg ChatMessage, filter *MessageFilter) bool + func (s *EventStream) ShouldEmitOrder(id string) bool + type ExactSubcategoryMatcher struct + func (ExactSubcategoryMatcher) Matches(productKey string, order *OrderInfo) bool + type FetchOrderOptions struct + BuyerID *int64 + BuyerUsername *string + Description *string + MaxAmount *int32 + MinAmount *int32 + Status *OrderStatus + Subcategory *string + type GoldenPay struct + func New(config *GoldenPayConfig) (*GoldenPay, error) + func (c *GoldenPay) Connect() (*GoldenPaySession, error) + func (c *GoldenPay) ValidateProxy() (bool, error) + type GoldenPayBot struct + func NewBot(session *GoldenPaySession) *GoldenPayBot + func (b *GoldenPayBot) Bootstrap() error + func (b *GoldenPayBot) LoadState() error + func (b *GoldenPayBot) Run(ctx context.Context, handler func(GoldenPayEvent) error) error + func (b *GoldenPayBot) SaveState() error + func (b *GoldenPayBot) WithOptions(opts BotOptions) *GoldenPayBot + func (b *GoldenPayBot) WithStore(store StateStore) *GoldenPayBot + type GoldenPayConfig struct + BaseURL string + GoldenKey string + MaxConcurrentRequests int + MaxRetries int + PollInterval time.Duration + Proxy string + RetryBaseDelay time.Duration + StatePath string + UserAgent string + func DefaultConfig() *GoldenPayConfig + func NewConfig(goldenKey string) *GoldenPayConfig + func (c *GoldenPayConfig) Validate() error + type GoldenPayError struct + Err error + Kind ErrorKind + Message string + func (e *GoldenPayError) Error() string + func (e *GoldenPayError) Unwrap() error + type GoldenPayEvent struct + NewMessage *ChatMessage + NewOrder *OrderInfo + type GoldenPaySession struct + func (s *GoldenPaySession) CalcPrice(nodeID int64, price float64) (*PriceCalculation, error) + func (s *GoldenPaySession) CalculateStatistics(opts *FetchOrderOptions) (*StoreStatistics, error) + func (s *GoldenPaySession) CheckConnection() bool + func (s *GoldenPaySession) Config() *GoldenPayConfig + func (s *GoldenPaySession) CreateOffer(nodeID int64, details OfferEdit) (*OfferSaveResponse, error) + func (s *GoldenPaySession) DeactivateAllOffers(nodeID int64) error + func (s *GoldenPaySession) DeleteAllOffers(nodeID int64) error + func (s *GoldenPaySession) EditOffer(nodeID, offerID int64, patch OfferEdit) (*OfferSaveResponse, error) + func (s *GoldenPaySession) FetchBalance() (float64, error) + func (s *GoldenPaySession) FetchCategoryFilters(nodeID int64) ([]CategoryFilter, error) + func (s *GoldenPaySession) FetchCategorySubcategories(nodeID int64) ([]CategorySubcategory, error) + func (s *GoldenPaySession) FetchCategoryTree() ([]CategoryNode, error) + func (s *GoldenPaySession) FetchChatMessages(chatID string) ([]ChatMessage, error) + func (s *GoldenPaySession) FetchMarketOffers(nodeID int64) ([]MarketOffer, error) + func (s *GoldenPaySession) FetchMyOffers(nodeID int64) ([]Offer, error) + func (s *GoldenPaySession) FetchOfferDetails(nodeID, offerID int64) (*OfferDetails, error) + func (s *GoldenPaySession) FetchOrderPage(orderID string) (*OrderPage, error) + func (s *GoldenPaySession) FetchOrders() ([]OrderInfo, error) + func (s *GoldenPaySession) FetchOrdersWith(opts *FetchOrderOptions) ([]OrderInfo, error) + func (s *GoldenPaySession) FetchPaidOrders() ([]OrderInfo, error) + func (s *GoldenPaySession) FetchProfileReviews(userID int64) ([]ProfileReview, error) + func (s *GoldenPaySession) Ping() (*RunnerResponse, error) + func (s *GoldenPaySession) RaiseOffers(nodeID int64) (*RaiseOffersResponse, error) + func (s *GoldenPaySession) ReplyToReview(orderID, text string) (*RunnerResponse, error) + func (s *GoldenPaySession) SendMessage(chatID, text string) (*RunnerResponse, error) + func (s *GoldenPaySession) SetGoldenKey(key string) + func (s *GoldenPaySession) UndercutPrice(nodeID, offerID int64, undercutBy, minPrice float64) (*OfferSaveResponse, error) + func (s *GoldenPaySession) User() *UserInfo + func (s *GoldenPaySession) Withdraw(req *WithdrawRequest) (*RunnerResponse, error) + type JSONDeliveryStore struct + func NewJSONDeliveryStore(path string) *JSONDeliveryStore + func (s *JSONDeliveryStore) ClaimPending(result *DeliveryResult) error + func (s *JSONDeliveryStore) CommitDelivered(result *DeliveryResult) error + func (s *JSONDeliveryStore) ContainsOrder(orderID string) (bool, error) + func (s *JSONDeliveryStore) ReleasePending(orderID string) error + type JSONStateStore struct + func NewJSONStateStore(path string) *JSONStateStore + func (s *JSONStateStore) Load() (*BotState, error) + func (s *JSONStateStore) Save(state *BotState) error + type MarketOffer struct + Currency string + Description string + ID int64 + IsPromo bool + NodeID int64 + Price float64 + SellerID int64 + SellerName string + SellerOnline bool + SellerRating float64 + SellerReviews int32 + type MemoryDeliveryStore struct + func NewMemoryDeliveryStore() *MemoryDeliveryStore + func (s *MemoryDeliveryStore) ClaimPending(result *DeliveryResult) error + func (s *MemoryDeliveryStore) CommitDelivered(result *DeliveryResult) error + func (s *MemoryDeliveryStore) ContainsOrder(orderID string) (bool, error) + func (s *MemoryDeliveryStore) ReleasePending(orderID string) error + type MemoryStateStore struct + func NewMemoryStateStore() *MemoryStateStore + func (s *MemoryStateStore) Load() (*BotState, error) + func (s *MemoryStateStore) Save(state *BotState) error + type MessageFilter struct + IgnoreAuthorID int64 + MinMessageID int64 + type Offer struct + Active bool + Currency string + Description string + ID int64 + NodeID int64 + Price float64 + type OfferDetails struct + Current OfferEdit + CustomFields []OfferField + type OfferEdit struct + Active *bool + DeactivateAfterSale *bool + Deleted *bool + DescriptionEN *string + DescriptionRU *string + Game *string + Images *string + Location *string + Method *string + OfferType *string + PaymentMsgEN *string + PaymentMsgRU *string + Price *string + Quantity *string + Quantity2 *string + ServerID *string + SummaryEN *string + SummaryRU *string + func (e OfferEdit) Merge(other OfferEdit) OfferEdit + type OfferEditBuilder struct + func NewOfferEditBuilder() *OfferEditBuilder + func (b *OfferEditBuilder) Active(v bool) *OfferEditBuilder + func (b *OfferEditBuilder) Build() OfferEdit + func (b *OfferEditBuilder) DeactivateAfterSale(v bool) *OfferEditBuilder + func (b *OfferEditBuilder) Deleted(v bool) *OfferEditBuilder + func (b *OfferEditBuilder) DescEN(v string) *OfferEditBuilder + func (b *OfferEditBuilder) DescRU(v string) *OfferEditBuilder + func (b *OfferEditBuilder) Game(v string) *OfferEditBuilder + func (b *OfferEditBuilder) Images(v string) *OfferEditBuilder + func (b *OfferEditBuilder) Location(v string) *OfferEditBuilder + func (b *OfferEditBuilder) Method(v string) *OfferEditBuilder + func (b *OfferEditBuilder) OfferType(v string) *OfferEditBuilder + func (b *OfferEditBuilder) PaymentMsgEN(v string) *OfferEditBuilder + func (b *OfferEditBuilder) PaymentMsgRU(v string) *OfferEditBuilder + func (b *OfferEditBuilder) Price(v string) *OfferEditBuilder + func (b *OfferEditBuilder) Quantity(v string) *OfferEditBuilder + func (b *OfferEditBuilder) Quantity2(v string) *OfferEditBuilder + func (b *OfferEditBuilder) ServerID(v string) *OfferEditBuilder + func (b *OfferEditBuilder) SummaryEN(v string) *OfferEditBuilder + func (b *OfferEditBuilder) SummaryRU(v string) *OfferEditBuilder + type OfferField struct + FieldType string + Label string + Name string + Required bool + Value string + type OfferGroup struct + ActiveOnly bool + NodeID int64 + func NewOfferGroup(nodeID int64, activeOnly bool) OfferGroup + type OfferSaveResponse struct + Error string + Success bool + type OfferScheduler struct + func NewOfferScheduler(entries []ScheduleEntry) *OfferScheduler + func (s *OfferScheduler) Poll(now time.Time) []Transition + type OrderInfo struct + Amount int32 + BuyerID int64 + BuyerUsername string + ChatID string + Description string + ID string + Status OrderStatus + SubcategoryName string + type OrderPage struct + Amount int32 + BuyerID int64 + BuyerUsername string + ChatID string + Currency string + FullDesc string + ID string + Params [][2]string + RawHTML string + Review *Review + Secrets []string + ShortDesc string + Status OrderStatus + SubcategoryName string + Sum float64 + type OrderStatus string + const OrderClosed + const OrderPaid + const OrderRefunded + type PriceCalculation struct + BuyerPrice *float64 + Commission *float64 + InputPrice float64 + NumericFields map[string]float64 + SellerPrice *float64 + type ProcessPaidOrderResult struct + Delivery *DeliveryResult + MessageText string + RunnerResponse *RunnerResponse + type ProductInventory struct + Items []DeliveryItem + type ProductMatcher interface + Matches func(productKey string, order *OrderInfo) bool + type ProfileReview struct + BuyerID int64 + BuyerUsername string + OrderID string + Stars int + Text string + type RaiseOffersResponse struct + Message string + Success bool + type ReservedDelivery struct + Result DeliveryResult + type Review struct + Stars int + Text string + type RunnerObject struct + Data json.RawMessage + ID string + Type string + type RunnerResponse struct + ErrorMessage string + Objects []RunnerObject + Success bool + type ScheduleAction int + const ActionActivate + const ActionDeactivate + func (a ScheduleAction) DesiredActive() bool + type ScheduleEntry struct + Action ScheduleAction + Group OfferGroup + Name string + Rule ScheduleRule + func NewScheduleEntry(name string, group OfferGroup, rule ScheduleRule, action ScheduleAction) ScheduleEntry + type ScheduleRule struct + EndHour int + StartHour int + func NewScheduleRule(start, end int) ScheduleRule + func (r ScheduleRule) IsActive(now time.Time) bool + type SecureString string + func NewSecureString(s string) SecureString + func (s SecureString) GoString() string + func (s SecureString) String() string + func (s SecureString) Value() string + type SessionManager struct + func NewSessionManager(client *GoldenPay) *SessionManager + func (m *SessionManager) EditOffer(nodeID, offerID int64, patch OfferEdit) (*OfferSaveResponse, error) + func (m *SessionManager) FetchBalance() (float64, error) + func (m *SessionManager) FetchChatMessages(chatID string) ([]ChatMessage, error) + func (m *SessionManager) FetchMyOffers(nodeID int64) ([]Offer, error) + func (m *SessionManager) FetchOrderPage(id string) (*OrderPage, error) + func (m *SessionManager) FetchOrders() ([]OrderInfo, error) + func (m *SessionManager) FetchPaidOrders() ([]OrderInfo, error) + func (m *SessionManager) Ping() (*RunnerResponse, error) + func (m *SessionManager) SendMessage(chatID, text string) (*RunnerResponse, error) + func (m *SessionManager) Session() *GoldenPaySession + func (m *SessionManager) Start() error + type SessionMessenger struct + Session *GoldenPaySession + func (m *SessionMessenger) SendDeliveryMessage(chatID, text string) (*RunnerResponse, error) + type StateStore interface + Load func() (*BotState, error) + Save func(state *BotState) error + type StoreStatistics struct + BuyerUsernames []string + OrderCount int + TotalRevenue float64 + TotalSum float64 + UniqueBuyers int + type Transition struct + Entry *ScheduleEntry + ShouldBeActive bool + type Urls struct + func NewUrls(base string) *Urls + func (u *Urls) Base() string + func (u *Urls) ChatUpload() string + func (u *Urls) Home() string + func (u *Urls) LotsCalc() string + func (u *Urls) LotsHome() string + func (u *Urls) LotsPage(nodeID int64) string + func (u *Urls) LotsRaise() string + func (u *Urls) LotsTrade(nodeID int64) string + func (u *Urls) OfferEdit(nodeID, offerID int64) string + func (u *Urls) OfferSave() string + func (u *Urls) OrderPage(id string) string + func (u *Urls) OrdersTrade() string + func (u *Urls) Profile(userID int64) string + func (u *Urls) ReviewReply() string + func (u *Urls) Runner() string + func (u *Urls) Withdraw() string + type UserInfo struct + CSRFToken string + ID int64 + PHPSessID string + Username string + type WebhookConfig struct + BindAddr string + Endpoint string + MaxBodySize int64 + Secret string + func DefaultWebhookConfig() *WebhookConfig + type WebhookHandler interface + HandleWebhook func(payload WebhookPayload) error + type WebhookPayload struct + Body json.RawMessage + Headers map[string]string + SourceIP string + type WebhookServer struct + func NewWebhookServer(config *WebhookConfig, handler WebhookHandler) *WebhookServer + func (s *WebhookServer) Run() error + type WithdrawRequest struct + Amount float64 + Currency string + ExtCurrency string + Wallet string v1.0.0 Jul 23, 2026