Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BackoffConfig ¶
type ChatsConfig ¶
type ChatsConfig struct {
Db ChatsDbConfig
}
type ChatsDbConfig ¶
type ChatsDbConfig struct { Uri string `envconfig:"CHATS_DB_URI" default:"mongodb://localhost:27017/?retryWrites=true&w=majority" required:"true"` Name string `envconfig:"CHATS_DB_NAME" default:"bot-telegram" required:"true"` UserName string `envconfig:"CHATS_DB_USERNAME" default:""` Password string `envconfig:"CHATS_DB_PASSWORD" default:""` Table struct { Name string `envconfig:"CHATS_DB_TABLE_NAME" default:"chats" required:"true"` } Tls struct { Enabled bool `envconfig:"CHATS_DB_TLS_ENABLED" default:"false" required:"true"` Insecure bool `envconfig:"CHATS_DB_TLS_INSECURE" default:"false" required:"true"` } }
type Config ¶
type Config struct { Api struct { Admin struct { Uri string `envconfig:"API_ADMIN_URI" default:"api:56789" required:"true"` } GroupId string `envconfig:"API_GROUP_ID" default:"default" required:"true"` Messages struct { Uri string `envconfig:"API_MESSAGES_URI" default:"messages:50051" required:"true"` } Metrics struct { Port uint16 `envconfig:"API_METRICS_PORT" default:"9090" required:"true"` } Telegram struct { Bot struct { Port uint16 `envconfig:"API_TELEGRAM_BOT_PORT" default:"50051" required:"true"` } Webhook struct { Host string `envconfig:"API_TELEGRAM_WEBHOOK_HOST" default:"tgbot.awakari.com" required:"true"` Path string `envconfig:"API_TELEGRAM_WEBHOOK_PATH" default:"/" required:"true"` Port uint16 `envconfig:"API_TELEGRAM_WEBHOOK_PORT" default:"8080" required:"true"` ConnMax uint32 `envconfig:"API_TELEGRAM_WEBHOOK_CONN_MAX" default:"100"` Token string `envconfig:"API_TELEGRAM_WEBHOOK_TOKEN" default:"xxxxxxxxxx"` } SupportChatId int64 `envconfig:"API_TELEGRAM_SUPPORT_CHAT_ID" required:"true"` Token string `envconfig:"API_TELEGRAM_TOKEN" required:"true"` } Uri string `envconfig:"API_URI" default:"api:50051" required:"true"` Writer struct { Uri string `envconfig:"API_WRITER_URI" default:"resolver:50051" required:"true"` } } Chats ChatsConfig Payment PaymentConfig Log struct { Level int `envconfig:"LOG_LEVEL" default:"-4" required:"true"` } Replica ReplicaConfig }
func NewConfigFromEnv ¶
type FeedsConfig ¶
type FeedsConfig struct {
Uri string `envconfig:"API_SOURCE_FEEDS_URI" default:"source-feeds:50051" required:"true"`
}
type PaymentConfig ¶
type PaymentConfig struct { Backoff BackoffConfig Currency struct { Code string `envconfig:"PAYMENT_CURRENCY_CODE" required:"true" default:"EUR"` SubFactor float64 `envconfig:"PAYMENT_CURRENCY_SUB_FACTOR" required:"true" default:"100"` } DonationChatId int64 `envconfig:"PAYMENT_DONATION_CHAT_ID" required:"true"` PreCheckout struct { Timeout time.Duration `envconfig:"PAYMENT_PRE_CHECKOUT_TIMEOUT" required:"true" default:"10s"` } Price PriceConfig Provider struct { Token string `envconfig:"PAYMENT_PROVIDER_TOKEN" required:"true"` } }
type PriceConfig ¶
type PriceConfig struct { MessagePublishing struct { DailyLimit float64 `envconfig:"PAYMENT_PRICE_MESSAGE_PUBLISHING_DAILY_LIMIT" required:"true" default:"0.04"` Extra float64 `envconfig:"PAYMENT_PRICE_MESSAGE_PUBLISHING_EXTRA" required:"true" default:"1"` } Subscription struct { CountLimit float64 `envconfig:"PAYMENT_PRICE_SUBSCRIPTION_COUNT_LIMIT" required:"true" default:"0.1"` Extension float64 `envconfig:"PAYMENT_PRICE_SUBSCRIPTION_EXTENSION" required:"true" default:"0.1"` } }
type ReplicaConfig ¶
type SitesConfig ¶
type SitesConfig struct {
Uri string `envconfig:"API_SOURCE_SITES_URI" default:"source-sites:50051" required:"true"`
}
Click to show internal directories.
Click to hide internal directories.