Skip to content

Методы рекламодателя

aiosubgram.methods.advertiser.AdvertiserMethods

AdvertiserMethods(*args, **kwargs)

Bases: MethodMixin

Source code in aiosubgram\methods\base.py
10
11
def __init__(self, *args, **kwargs):
    pass

Functions

create_order async
create_order(link: str, ads_type: Literal['channel', 'bot', 'resource'], quantity_all: int, name: Optional[str] = None, is_on: Optional[int] = 1, quantity_day: Optional[int] = None, price: Optional[float] = None, price_premium: Optional[float] = None, bot_token: Optional[str] = None, to_bot_member: Optional[int] = 0, track_unsubscriptions: Optional[bool] = True, is_lite: Optional[int] = 0, sub_speed: Optional[int] = None, user_parameters: Optional[Union[UserParameters, Dict]] = None, forbidden_themes: Optional[List[str]] = None, order_schedule: Optional[Union[OrderSchedule, Dict]] = None) -> CreateOrder

Создает новую рекламную кампанию (заказ) и отправляет ее на модерацию. Требует secret_key.

Parameters:

Name Type Description Default
link str

Полная ссылка на ресурс (https://t.me/...).

required
ads_type Literal['channel', 'bot', 'resource']

Тип заказа: 'channel', 'bot' или 'resource'.

required
quantity_all int

Общее желаемое количество подписчиков.

required
name Optional[str]

Название заказа (по умолчанию "Новый заказ").

None
is_on Optional[int]

Запустить заказ сразу (1) или поставить на паузу (0).

1
quantity_day Optional[int]

Дневной лимит подписчиков.

None
price Optional[float]

Базовая цена за подписчика.

None
price_premium Optional[float]

Цена за Premium-подписчика (если включен таргетинг).

None
bot_token Optional[str]

Токен бота (обязателен, если ads_type='bot').

None
to_bot_member Optional[int]

Тип токена (0 - стандартный, 1 - BotMembers).

0
track_unsubscriptions Optional[bool]

Отслеживать отписки (для каналов).

True
is_lite Optional[int]

Плавное распределение (1) или максимально быстро (0).

0
sub_speed Optional[int]

Скорость вступлений в час (если is_lite=1).

None
user_parameters Optional[Union[UserParameters, Dict]]

Параметры таргетинга (UserParameters или dict).

None
forbidden_themes Optional[List[str]]

Список кодов запрещенных тематик.

None
order_schedule Optional[Union[OrderSchedule, Dict]]

Расписание показов (OrderSchedule или dict).

None

Returns:

Name Type Description
CreateOrder CreateOrder

Объект с ID созданного заказа.

Source code in aiosubgram\methods\advertiser.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
async def create_order(
    self,
    link: str,
    ads_type: Literal["channel", "bot", "resource"],
    quantity_all: int,
    name: Optional[str] = None,
    is_on: Optional[int] = 1,
    quantity_day: Optional[int] = None,
    price: Optional[float] = None,
    price_premium: Optional[float] = None,
    bot_token: Optional[str] = None,
    to_bot_member: Optional[int] = 0,
    track_unsubscriptions: Optional[bool] = True,
    is_lite: Optional[int] = 0,
    sub_speed: Optional[int] = None,
    user_parameters: Optional[Union[UserParameters, Dict]] = None,
    forbidden_themes: Optional[List[str]] = None,
    order_schedule: Optional[Union[OrderSchedule, Dict]] = None
) -> CreateOrder:
    """
    Создает новую рекламную кампанию (заказ) и отправляет ее на модерацию.
    Требует `secret_key`.

    Args:
        link: Полная ссылка на ресурс (https://t.me/...).
        ads_type: Тип заказа: 'channel', 'bot' или 'resource'.
        quantity_all: Общее желаемое количество подписчиков.
        name: Название заказа (по умолчанию "Новый заказ").
        is_on: Запустить заказ сразу (1) или поставить на паузу (0).
        quantity_day: Дневной лимит подписчиков.
        price: Базовая цена за подписчика.
        price_premium: Цена за Premium-подписчика (если включен таргетинг).
        bot_token: Токен бота (обязателен, если ads_type='bot').
        to_bot_member: Тип токена (0 - стандартный, 1 - BotMembers).
        track_unsubscriptions: Отслеживать отписки (для каналов).
        is_lite: Плавное распределение (1) или максимально быстро (0).
        sub_speed: Скорость вступлений в час (если is_lite=1).
        user_parameters: Параметры таргетинга (UserParameters или dict).
        forbidden_themes: Список кодов запрещенных тематик.
        order_schedule: Расписание показов (OrderSchedule или dict).

    Returns:
        CreateOrder: Объект с ID созданного заказа.
    """
    if isinstance(user_parameters, UserParameters):
        user_parameters = user_parameters.model_dump(exclude_none=True)
    if isinstance(order_schedule, OrderSchedule):
        order_schedule = order_schedule.model_dump(exclude_none=True)

    payload = {
        "action": "create",
        "link": link,
        "ads_type": ads_type,
        "quantity_all": quantity_all,
        "name": name,
        "is_on": is_on,
        "quantity_day": quantity_day,
        "price": price,
        "price_premium": price_premium,
        "bot_token": bot_token,
        "to_bot_member": to_bot_member,
        "track_unsubscriptions": track_unsubscriptions,
        "is_lite": is_lite,
        "sub_speed": sub_speed,
        "user_parameters": user_parameters,
        "forbidden_themes": forbidden_themes,
        "order_schedule": order_schedule
    }

    json_data = {k: v for k, v in payload.items() if v is not None}

    return await self._make_request(
        method="POST",
        endpoint="orders",
        response_model=CreateOrder,
        json=json_data,
        key_type=KeyType.SECRET
    )
update_order async
update_order(order_id: int, link: Optional[str] = None, name: Optional[str] = None, is_on: Optional[int] = None, in_archive: Optional[int] = None, quantity_all: Optional[int] = None, quantity_day: Optional[int] = None, price: Optional[float] = None, price_premium: Optional[float] = None, bot_token: Optional[str] = None, to_bot_member: Optional[int] = None, track_unsubscriptions: Optional[bool] = None, is_lite: Optional[int] = None, sub_speed: Optional[int] = None, user_parameters: Optional[Union[UserParameters, Dict]] = None, forbidden_themes: Optional[List[str]] = None, order_schedule: Optional[Union[OrderSchedule, Dict]] = None) -> CreateOrder

Обновляет параметры существующего заказа. Передавайте только те параметры, которые нужно изменить. Требует secret_key.

Parameters:

Name Type Description Default
order_id int

ID заказа, который нужно изменить.

required
link Optional[str]

Новая ссылка (нельзя менять, если уже есть подписчики).

None
name Optional[str]

Название заказа.

None
is_on Optional[int]

1 - запустить, 0 - остановить.

None
in_archive Optional[int]

1 - в архив, 0 - из архива.

None
quantity_all Optional[int]

Общее желаемое количество подписчиков.

None
quantity_day Optional[int]

Дневной лимит подписчиков.

None
price Optional[float]

Базовая цена за подписчика.

None
price_premium Optional[float]

Цена за Premium-подписчика (если включен таргетинг).

None
bot_token Optional[str]

Токен бота (обязателен, если ads_type='bot').

None
to_bot_member Optional[int]

Тип токена (0 - стандартный, 1 - BotMembers).

None
track_unsubscriptions Optional[bool]

Отслеживать отписки (для каналов).

None
is_lite Optional[int]

Плавное распределение (1) или максимально быстро (0).

None
sub_speed Optional[int]

Скорость вступлений в час (если is_lite=1).

None
user_parameters Optional[Union[UserParameters, Dict]]

Параметры таргетинга (UserParameters или dict).

None
forbidden_themes Optional[List[str]]

Список кодов запрещенных тематик.

None
order_schedule Optional[Union[OrderSchedule, Dict]]

Расписание показов (OrderSchedule или dict).

None

Returns: CreateOrder: Результат операции.

Source code in aiosubgram\methods\advertiser.py
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
async def update_order(
    self,
    order_id: int,
    link: Optional[str] = None,
    name: Optional[str] = None,
    is_on: Optional[int] = None,
    in_archive: Optional[int] = None,
    quantity_all: Optional[int] = None,
    quantity_day: Optional[int] = None,
    price: Optional[float] = None,
    price_premium: Optional[float] = None,
    bot_token: Optional[str] = None,
    to_bot_member: Optional[int] = None,
    track_unsubscriptions: Optional[bool] = None,
    is_lite: Optional[int] = None,
    sub_speed: Optional[int] = None,
    user_parameters: Optional[Union[UserParameters, Dict]] = None,
    forbidden_themes: Optional[List[str]] = None,
    order_schedule: Optional[Union[OrderSchedule, Dict]] = None
) -> CreateOrder:
    """
    Обновляет параметры существующего заказа.
    Передавайте только те параметры, которые нужно изменить.
    Требует `secret_key`.

    Args:
        order_id: ID заказа, который нужно изменить.
        link: Новая ссылка (нельзя менять, если уже есть подписчики).
        name: Название заказа.
        is_on: 1 - запустить, 0 - остановить.
        in_archive: 1 - в архив, 0 - из архива.
        quantity_all: Общее желаемое количество подписчиков.
        quantity_day: Дневной лимит подписчиков.
        price: Базовая цена за подписчика.
        price_premium: Цена за Premium-подписчика (если включен таргетинг).
        bot_token: Токен бота (обязателен, если ads_type='bot').
        to_bot_member: Тип токена (0 - стандартный, 1 - BotMembers).
        track_unsubscriptions: Отслеживать отписки (для каналов).
        is_lite: Плавное распределение (1) или максимально быстро (0).
        sub_speed: Скорость вступлений в час (если is_lite=1).
        user_parameters: Параметры таргетинга (UserParameters или dict).
        forbidden_themes: Список кодов запрещенных тематик.
        order_schedule: Расписание показов (OrderSchedule или dict).
    Returns:
        CreateOrder: Результат операции.
    """
    if isinstance(user_parameters, UserParameters):
        user_parameters = user_parameters.model_dump(exclude_none=True)
    if isinstance(order_schedule, OrderSchedule):
        order_schedule = order_schedule.model_dump(exclude_none=True)

    payload = {
        "action": "update",
        "order_id": order_id,
        "link": link,
        "name": name,
        "is_on": is_on,
        "in_archive": in_archive,
        "quantity_all": quantity_all,
        "quantity_day": quantity_day,
        "price": price,
        "price_premium": price_premium,
        "bot_token": bot_token,
        "to_bot_member": to_bot_member,
        "track_unsubscriptions": track_unsubscriptions,
        "is_lite": is_lite,
        "sub_speed": sub_speed,
        "user_parameters": user_parameters,
        "forbidden_themes": forbidden_themes,
        "order_schedule": order_schedule
    }

    json_data = {k: v for k, v in payload.items() if v is not None}

    return await self._make_request(
        method="POST",
        endpoint="orders",
        response_model=CreateOrder,
        json=json_data,
        key_type=KeyType.SECRET
    )
get_order_info async
get_order_info(order_id: int) -> OrderInfo

Получает полную информацию о заказе, включая статус, цены и прогресс. Требует secret_key.

Parameters:

Name Type Description Default
order_id int

ID заказа.

required

Returns:

Name Type Description
OrderInfo OrderInfo

Полная информация о заказе.

Source code in aiosubgram\methods\advertiser.py
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
async def get_order_info(self, order_id: int) -> OrderInfo:
    """
    Получает полную информацию о заказе, включая статус, цены и прогресс.
    Требует `secret_key`.

    Args:
        order_id: ID заказа.

    Returns:
        OrderInfo: Полная информация о заказе.
    """
    payload = {
        "action": "info",
        "order_id": order_id
    }

    return await self._make_request(
        method="POST",
        endpoint="orders",
        response_model=OrderInfo,
        json=payload,
        key_type=KeyType.SECRET
    )