Add webhook config
This commit is contained in:
parent
f8c09d963e
commit
e230d6f3dc
@ -21,6 +21,11 @@ def create_bot(config: Config, i18n: I18N, engine):
|
|||||||
register_handlers(bot)
|
register_handlers(bot)
|
||||||
setup_middlewares(bot, i18n, engine)
|
setup_middlewares(bot, i18n, engine)
|
||||||
add_custom_filters(bot, config)
|
add_custom_filters(bot, config)
|
||||||
|
if config.use_webhook:
|
||||||
|
bot.delete_webhook()
|
||||||
|
bot.set_webhook(config.webhook.url,
|
||||||
|
drop_pending_updates=config.webhook.drop_pending_updates,
|
||||||
|
max_connections=config.webhook.max_connections)
|
||||||
return bot
|
return bot
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,19 @@ class BotConfig:
|
|||||||
os.getenv("BOT_PARSE_MODE", "html"))
|
os.getenv("BOT_PARSE_MODE", "html"))
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class WebhookConfig:
|
||||||
|
url: str
|
||||||
|
max_connections: int
|
||||||
|
drop_pending_updates: bool
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_env(cls):
|
||||||
|
return cls(os.getenv("WEBHOOK_URL"),
|
||||||
|
int(os.getenv("WEBHOOK_MAX_CONNECTIONS", 40)),
|
||||||
|
bool(int(os.getenv("WEBHOOK_DROP_PENDING", True))))
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class I18NConfig:
|
class I18NConfig:
|
||||||
path: str
|
path: str
|
||||||
@ -70,7 +83,9 @@ class Config:
|
|||||||
i18n: I18NConfig
|
i18n: I18NConfig
|
||||||
states: StateStorageConfig
|
states: StateStorageConfig
|
||||||
database: DatabaseConfig
|
database: DatabaseConfig
|
||||||
|
webhook: WebhookConfig
|
||||||
|
|
||||||
|
use_webhook: bool
|
||||||
log_level: str
|
log_level: str
|
||||||
owner_id: int
|
owner_id: int
|
||||||
|
|
||||||
@ -81,6 +96,8 @@ class Config:
|
|||||||
i18n=I18NConfig.from_env(),
|
i18n=I18NConfig.from_env(),
|
||||||
states=StateStorageConfig.from_env(),
|
states=StateStorageConfig.from_env(),
|
||||||
database=DatabaseConfig.from_env(),
|
database=DatabaseConfig.from_env(),
|
||||||
|
webhook=WebhookConfig.from_env(),
|
||||||
|
use_webhook=bool(int(os.getenv("USE_WEBHOOK", False))),
|
||||||
log_level=os.getenv("LOG_LEVEL", "INFO"),
|
log_level=os.getenv("LOG_LEVEL", "INFO"),
|
||||||
owner_id=int(os.getenv("OWNER_ID", 1)),
|
owner_id=int(os.getenv("OWNER_ID", 1)),
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user