mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Bot API 7.10 (#1570)
* Bump to the latest schema * Added full support ob Bot API 7.10 * Add support for purchased paid media events Enhanced the router to include `purchased_paid_media` handling. Added corresponding test cases to verify the new functionality and updated middleware to return the appropriate `EventContext`. * Added changelog
This commit is contained in:
parent
fb1e5cad59
commit
e8fc890809
40 changed files with 487 additions and 106 deletions
|
|
@ -30,9 +30,9 @@
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"required": true,
|
"required": true,
|
||||||
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.",
|
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.",
|
||||||
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.</td>",
|
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.</td>",
|
||||||
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.\n",
|
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.\n",
|
||||||
"name": "payload"
|
"name": "payload"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -46,9 +46,9 @@
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"required": true,
|
"required": true,
|
||||||
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.",
|
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.",
|
||||||
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.</td>",
|
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.</td>",
|
||||||
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.\n",
|
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.\n",
|
||||||
"name": "payload"
|
"name": "payload"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,9 @@
|
||||||
{
|
{
|
||||||
"type": "Integer",
|
"type": "Integer",
|
||||||
"required": true,
|
"required": true,
|
||||||
"description": "The number of Telegram Stars that must be paid to buy access to the media",
|
"description": "The number of Telegram Stars that must be paid to buy access to the media; 1-2500",
|
||||||
"html_description": "<td>The number of Telegram Stars that must be paid to buy access to the media</td>",
|
"html_description": "<td>The number of Telegram Stars that must be paid to buy access to the media; 1-2500</td>",
|
||||||
"rst_description": "The number of Telegram Stars that must be paid to buy access to the media\n",
|
"rst_description": "The number of Telegram Stars that must be paid to buy access to the media; 1-2500\n",
|
||||||
"name": "star_count"
|
"name": "star_count"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -43,6 +43,14 @@
|
||||||
"rst_description": "A JSON-serialized array describing the media to be sent; up to 10 items\n",
|
"rst_description": "A JSON-serialized array describing the media to be sent; up to 10 items\n",
|
||||||
"name": "media"
|
"name": "media"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "String",
|
||||||
|
"required": false,
|
||||||
|
"description": "Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.",
|
||||||
|
"html_description": "<td>Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.</td>",
|
||||||
|
"rst_description": "Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.\n",
|
||||||
|
"name": "payload"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"required": false,
|
"required": false,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"api": {
|
"api": {
|
||||||
"version": "7.9",
|
"version": "7.10",
|
||||||
"release_date": "2024-08-14"
|
"release_date": "2024-09-06"
|
||||||
},
|
},
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
|
|
@ -143,6 +143,14 @@
|
||||||
"name": "pre_checkout_query",
|
"name": "pre_checkout_query",
|
||||||
"required": false
|
"required": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "PaidMediaPurchased",
|
||||||
|
"description": "A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat",
|
||||||
|
"html_description": "<td><em>Optional</em>. A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat</td>",
|
||||||
|
"rst_description": "*Optional*. A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat\n",
|
||||||
|
"name": "purchased_paid_media",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "Poll",
|
"type": "Poll",
|
||||||
"description": "New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot",
|
"description": "New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot",
|
||||||
|
|
@ -4029,10 +4037,19 @@
|
||||||
{
|
{
|
||||||
"anchor": "giveawaycreated",
|
"anchor": "giveawaycreated",
|
||||||
"name": "GiveawayCreated",
|
"name": "GiveawayCreated",
|
||||||
"description": "This object represents a service message about the creation of a scheduled giveaway. Currently holds no information.",
|
"description": "This object represents a service message about the creation of a scheduled giveaway.",
|
||||||
"html_description": "<p>This object represents a service message about the creation of a scheduled giveaway. Currently holds no information.</p>",
|
"html_description": "<p>This object represents a service message about the creation of a scheduled giveaway.</p>",
|
||||||
"rst_description": "This object represents a service message about the creation of a scheduled giveaway. Currently holds no information.",
|
"rst_description": "This object represents a service message about the creation of a scheduled giveaway.",
|
||||||
"annotations": [],
|
"annotations": [
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only</td>",
|
||||||
|
"rst_description": "*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only\n",
|
||||||
|
"name": "prize_star_count",
|
||||||
|
"required": false
|
||||||
|
}
|
||||||
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -4100,9 +4117,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Integer",
|
"type": "Integer",
|
||||||
"description": "The number of months the Telegram Premium subscription won from the giveaway will be active for",
|
"description": "The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only",
|
||||||
"html_description": "<td><em>Optional</em>. The number of months the Telegram Premium subscription won from the giveaway will be active for</td>",
|
"html_description": "<td><em>Optional</em>. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only</td>",
|
||||||
"rst_description": "*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for\n",
|
"rst_description": "*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only\n",
|
||||||
|
"name": "prize_star_count",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only</td>",
|
||||||
|
"rst_description": "*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only\n",
|
||||||
"name": "premium_subscription_month_count",
|
"name": "premium_subscription_month_count",
|
||||||
"required": false
|
"required": false
|
||||||
}
|
}
|
||||||
|
|
@ -4166,9 +4191,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Integer",
|
"type": "Integer",
|
||||||
"description": "The number of months the Telegram Premium subscription won from the giveaway will be active for",
|
"description": "The number of Telegram Stars that were split between giveaway winners; for Telegram Star giveaways only",
|
||||||
"html_description": "<td><em>Optional</em>. The number of months the Telegram Premium subscription won from the giveaway will be active for</td>",
|
"html_description": "<td><em>Optional</em>. The number of Telegram Stars that were split between giveaway winners; for Telegram Star giveaways only</td>",
|
||||||
"rst_description": "*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for\n",
|
"rst_description": "*Optional*. The number of Telegram Stars that were split between giveaway winners; for Telegram Star giveaways only\n",
|
||||||
|
"name": "prize_star_count",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only</td>",
|
||||||
|
"rst_description": "*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only\n",
|
||||||
"name": "premium_subscription_month_count",
|
"name": "premium_subscription_month_count",
|
||||||
"required": false
|
"required": false
|
||||||
},
|
},
|
||||||
|
|
@ -4237,6 +4270,14 @@
|
||||||
"rst_description": "*Optional*. Message with the giveaway that was completed, if it wasn't deleted\n",
|
"rst_description": "*Optional*. Message with the giveaway that was completed, if it wasn't deleted\n",
|
||||||
"name": "giveaway_message",
|
"name": "giveaway_message",
|
||||||
"required": false
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "True",
|
||||||
|
"description": "True, if the giveaway is a Telegram Star giveaway. Otherwise, currently, the giveaway is a Telegram Premium giveaway.",
|
||||||
|
"html_description": "<td><em>Optional</em>. <em>True</em>, if the giveaway is a Telegram Star giveaway. Otherwise, currently, the giveaway is a Telegram Premium giveaway.</td>",
|
||||||
|
"rst_description": "*Optional*. :code:`True`, if the giveaway is a Telegram Star giveaway. Otherwise, currently, the giveaway is a Telegram Premium giveaway.\n",
|
||||||
|
"name": "is_star_giveaway",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
|
|
@ -5129,6 +5170,22 @@
|
||||||
"rst_description": "*Optional*. Number of pending join requests created using this link\n",
|
"rst_description": "*Optional*. Number of pending join requests created using this link\n",
|
||||||
"name": "pending_join_request_count",
|
"name": "pending_join_request_count",
|
||||||
"required": false
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of seconds the subscription will be active for before the next payment",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of seconds the subscription will be active for before the next payment</td>",
|
||||||
|
"rst_description": "*Optional*. The number of seconds the subscription will be active for before the next payment\n",
|
||||||
|
"name": "subscription_period",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The amount of Telegram Stars a user must pay initially and after each subsequent subscription period to be a member of the chat using the link",
|
||||||
|
"html_description": "<td><em>Optional</em>. The amount of Telegram Stars a user must pay initially and after each subsequent subscription period to be a member of the chat using the link</td>",
|
||||||
|
"rst_description": "*Optional*. The amount of Telegram Stars a user must pay initially and after each subsequent subscription period to be a member of the chat using the link\n",
|
||||||
|
"name": "subscription_price",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
|
|
@ -6795,9 +6852,9 @@
|
||||||
{
|
{
|
||||||
"anchor": "chatboostsourcegiveaway",
|
"anchor": "chatboostsourcegiveaway",
|
||||||
"name": "ChatBoostSourceGiveaway",
|
"name": "ChatBoostSourceGiveaway",
|
||||||
"description": "The boost was obtained by the creation of a Telegram Premium giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription.",
|
"description": "The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription for Telegram Premium giveaways and prize_star_count / 500 times for one year for Telegram Star giveaways.",
|
||||||
"html_description": "<p>The boost was obtained by the creation of a Telegram Premium giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription.</p>",
|
"html_description": "<p>The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription for Telegram Premium giveaways and <em>prize_star_count</em> / 500 times for one year for Telegram Star giveaways.</p>",
|
||||||
"rst_description": "The boost was obtained by the creation of a Telegram Premium giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription.",
|
"rst_description": "The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription for Telegram Premium giveaways and *prize_star_count* / 500 times for one year for Telegram Star giveaways.",
|
||||||
"annotations": [
|
"annotations": [
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
|
|
@ -6817,12 +6874,20 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "User",
|
"type": "User",
|
||||||
"description": "User that won the prize in the giveaway if any",
|
"description": "User that won the prize in the giveaway if any; for Telegram Premium giveaways only",
|
||||||
"html_description": "<td><em>Optional</em>. User that won the prize in the giveaway if any</td>",
|
"html_description": "<td><em>Optional</em>. User that won the prize in the giveaway if any; for Telegram Premium giveaways only</td>",
|
||||||
"rst_description": "*Optional*. User that won the prize in the giveaway if any\n",
|
"rst_description": "*Optional*. User that won the prize in the giveaway if any; for Telegram Premium giveaways only\n",
|
||||||
"name": "user",
|
"name": "user",
|
||||||
"required": false
|
"required": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only</td>",
|
||||||
|
"rst_description": "*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only\n",
|
||||||
|
"name": "prize_star_count",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "True",
|
"type": "True",
|
||||||
"description": "True, if the giveaway was completed, but there was no user to win the prize",
|
"description": "True, if the giveaway was completed, but there was no user to win the prize",
|
||||||
|
|
@ -8989,9 +9054,9 @@
|
||||||
{
|
{
|
||||||
"type": "Integer",
|
"type": "Integer",
|
||||||
"required": true,
|
"required": true,
|
||||||
"description": "The number of Telegram Stars that must be paid to buy access to the media",
|
"description": "The number of Telegram Stars that must be paid to buy access to the media; 1-2500",
|
||||||
"html_description": "<td>The number of Telegram Stars that must be paid to buy access to the media</td>",
|
"html_description": "<td>The number of Telegram Stars that must be paid to buy access to the media; 1-2500</td>",
|
||||||
"rst_description": "The number of Telegram Stars that must be paid to buy access to the media\n",
|
"rst_description": "The number of Telegram Stars that must be paid to buy access to the media; 1-2500\n",
|
||||||
"name": "star_count"
|
"name": "star_count"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -9002,6 +9067,14 @@
|
||||||
"rst_description": "A JSON-serialized array describing the media to be sent; up to 10 items\n",
|
"rst_description": "A JSON-serialized array describing the media to be sent; up to 10 items\n",
|
||||||
"name": "media"
|
"name": "media"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "String",
|
||||||
|
"required": false,
|
||||||
|
"description": "Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.",
|
||||||
|
"html_description": "<td>Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.</td>",
|
||||||
|
"rst_description": "Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.\n",
|
||||||
|
"name": "payload"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"required": false,
|
"required": false,
|
||||||
|
|
@ -15366,9 +15439,9 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.",
|
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.",
|
||||||
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.</td>",
|
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.</td>",
|
||||||
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.\n",
|
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.\n",
|
||||||
"name": "payload",
|
"name": "payload",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
|
|
@ -15654,9 +15727,9 @@
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"required": true,
|
"required": true,
|
||||||
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.",
|
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.",
|
||||||
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.</td>",
|
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.</td>",
|
||||||
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.\n",
|
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.\n",
|
||||||
"name": "payload"
|
"name": "payload"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -15872,9 +15945,9 @@
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"required": true,
|
"required": true,
|
||||||
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.",
|
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.",
|
||||||
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.</td>",
|
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.</td>",
|
||||||
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.\n",
|
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.\n",
|
||||||
"name": "payload"
|
"name": "payload"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -16578,6 +16651,32 @@
|
||||||
],
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"anchor": "paidmediapurchased",
|
||||||
|
"name": "PaidMediaPurchased",
|
||||||
|
"description": "This object contains information about a paid media purchase.",
|
||||||
|
"html_description": "<p>This object contains information about a paid media purchase.</p>",
|
||||||
|
"rst_description": "This object contains information about a paid media purchase.",
|
||||||
|
"annotations": [
|
||||||
|
{
|
||||||
|
"type": "User",
|
||||||
|
"description": "User who purchased the media",
|
||||||
|
"html_description": "<td>User who purchased the media</td>",
|
||||||
|
"rst_description": "User who purchased the media\n",
|
||||||
|
"name": "from",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "String",
|
||||||
|
"description": "Bot-specified paid media payload",
|
||||||
|
"html_description": "<td>Bot-specified paid media payload</td>",
|
||||||
|
"rst_description": "Bot-specified paid media payload\n",
|
||||||
|
"name": "paid_media_payload",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"category": "types"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"anchor": "revenuewithdrawalstate",
|
"anchor": "revenuewithdrawalstate",
|
||||||
"name": "RevenueWithdrawalState",
|
"name": "RevenueWithdrawalState",
|
||||||
|
|
@ -16704,6 +16803,14 @@
|
||||||
"rst_description": "*Optional*. Information about the paid media bought by the user\n",
|
"rst_description": "*Optional*. Information about the paid media bought by the user\n",
|
||||||
"name": "paid_media",
|
"name": "paid_media",
|
||||||
"required": false
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "String",
|
||||||
|
"description": "Bot-specified paid media payload",
|
||||||
|
"html_description": "<td><em>Optional</em>. Bot-specified paid media payload</td>",
|
||||||
|
"rst_description": "*Optional*. Bot-specified paid media payload\n",
|
||||||
|
"name": "paid_media_payload",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@
|
||||||
"object": {
|
"object": {
|
||||||
"anchor": "chatboostsourcegiveaway",
|
"anchor": "chatboostsourcegiveaway",
|
||||||
"name": "ChatBoostSourceGiveaway",
|
"name": "ChatBoostSourceGiveaway",
|
||||||
"description": "The boost was obtained by the creation of a Telegram Premium giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription.",
|
"description": "The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription for Telegram Premium giveaways and prize_star_count / 500 times for one year for Telegram Star giveaways.",
|
||||||
"html_description": "<p>The boost was obtained by the creation of a Telegram Premium giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription.</p>",
|
"html_description": "<p>The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription for Telegram Premium giveaways and <em>prize_star_count</em> / 500 times for one year for Telegram Star giveaways.</p>",
|
||||||
"rst_description": "The boost was obtained by the creation of a Telegram Premium giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription.",
|
"rst_description": "The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription for Telegram Premium giveaways and *prize_star_count* / 500 times for one year for Telegram Star giveaways.",
|
||||||
"annotations": [
|
"annotations": [
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
|
|
@ -29,12 +29,20 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "User",
|
"type": "User",
|
||||||
"description": "User that won the prize in the giveaway if any",
|
"description": "User that won the prize in the giveaway if any; for Telegram Premium giveaways only",
|
||||||
"html_description": "<td><em>Optional</em>. User that won the prize in the giveaway if any</td>",
|
"html_description": "<td><em>Optional</em>. User that won the prize in the giveaway if any; for Telegram Premium giveaways only</td>",
|
||||||
"rst_description": "*Optional*. User that won the prize in the giveaway if any\n",
|
"rst_description": "*Optional*. User that won the prize in the giveaway if any; for Telegram Premium giveaways only\n",
|
||||||
"name": "user",
|
"name": "user",
|
||||||
"required": false
|
"required": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only</td>",
|
||||||
|
"rst_description": "*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only\n",
|
||||||
|
"name": "prize_star_count",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "True",
|
"type": "True",
|
||||||
"description": "True, if the giveaway was completed, but there was no user to win the prize",
|
"description": "True, if the giveaway was completed, but there was no user to win the prize",
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,22 @@
|
||||||
"rst_description": "*Optional*. Number of pending join requests created using this link\n",
|
"rst_description": "*Optional*. Number of pending join requests created using this link\n",
|
||||||
"name": "pending_join_request_count",
|
"name": "pending_join_request_count",
|
||||||
"required": false
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of seconds the subscription will be active for before the next payment",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of seconds the subscription will be active for before the next payment</td>",
|
||||||
|
"rst_description": "*Optional*. The number of seconds the subscription will be active for before the next payment\n",
|
||||||
|
"name": "subscription_period",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The amount of Telegram Stars a user must pay initially and after each subsequent subscription period to be a member of the chat using the link",
|
||||||
|
"html_description": "<td><em>Optional</em>. The amount of Telegram Stars a user must pay initially and after each subsequent subscription period to be a member of the chat using the link</td>",
|
||||||
|
"rst_description": "*Optional*. The amount of Telegram Stars a user must pay initially and after each subsequent subscription period to be a member of the chat using the link\n",
|
||||||
|
"name": "subscription_price",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
|
|
|
||||||
|
|
@ -69,9 +69,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Integer",
|
"type": "Integer",
|
||||||
"description": "The number of months the Telegram Premium subscription won from the giveaway will be active for",
|
"description": "The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only",
|
||||||
"html_description": "<td><em>Optional</em>. The number of months the Telegram Premium subscription won from the giveaway will be active for</td>",
|
"html_description": "<td><em>Optional</em>. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only</td>",
|
||||||
"rst_description": "*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for\n",
|
"rst_description": "*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only\n",
|
||||||
|
"name": "prize_star_count",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only</td>",
|
||||||
|
"rst_description": "*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only\n",
|
||||||
"name": "premium_subscription_month_count",
|
"name": "premium_subscription_month_count",
|
||||||
"required": false
|
"required": false
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,14 @@
|
||||||
"rst_description": "*Optional*. Message with the giveaway that was completed, if it wasn't deleted\n",
|
"rst_description": "*Optional*. Message with the giveaway that was completed, if it wasn't deleted\n",
|
||||||
"name": "giveaway_message",
|
"name": "giveaway_message",
|
||||||
"required": false
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "True",
|
||||||
|
"description": "True, if the giveaway is a Telegram Star giveaway. Otherwise, currently, the giveaway is a Telegram Premium giveaway.",
|
||||||
|
"html_description": "<td><em>Optional</em>. <em>True</em>, if the giveaway is a Telegram Star giveaway. Otherwise, currently, the giveaway is a Telegram Premium giveaway.</td>",
|
||||||
|
"rst_description": "*Optional*. :code:`True`, if the giveaway is a Telegram Star giveaway. Otherwise, currently, the giveaway is a Telegram Premium giveaway.\n",
|
||||||
|
"name": "is_star_giveaway",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,19 @@
|
||||||
"object": {
|
"object": {
|
||||||
"anchor": "giveawaycreated",
|
"anchor": "giveawaycreated",
|
||||||
"name": "GiveawayCreated",
|
"name": "GiveawayCreated",
|
||||||
"description": "This object represents a service message about the creation of a scheduled giveaway. Currently holds no information.",
|
"description": "This object represents a service message about the creation of a scheduled giveaway.",
|
||||||
"html_description": "<p>This object represents a service message about the creation of a scheduled giveaway. Currently holds no information.</p>",
|
"html_description": "<p>This object represents a service message about the creation of a scheduled giveaway.</p>",
|
||||||
"rst_description": "This object represents a service message about the creation of a scheduled giveaway. Currently holds no information.",
|
"rst_description": "This object represents a service message about the creation of a scheduled giveaway.",
|
||||||
"annotations": [],
|
"annotations": [
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only</td>",
|
||||||
|
"rst_description": "*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only\n",
|
||||||
|
"name": "prize_star_count",
|
||||||
|
"required": false
|
||||||
|
}
|
||||||
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Integer",
|
"type": "Integer",
|
||||||
"description": "The number of months the Telegram Premium subscription won from the giveaway will be active for",
|
"description": "The number of Telegram Stars that were split between giveaway winners; for Telegram Star giveaways only",
|
||||||
"html_description": "<td><em>Optional</em>. The number of months the Telegram Premium subscription won from the giveaway will be active for</td>",
|
"html_description": "<td><em>Optional</em>. The number of Telegram Stars that were split between giveaway winners; for Telegram Star giveaways only</td>",
|
||||||
"rst_description": "*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for\n",
|
"rst_description": "*Optional*. The number of Telegram Stars that were split between giveaway winners; for Telegram Star giveaways only\n",
|
||||||
|
"name": "prize_star_count",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Integer",
|
||||||
|
"description": "The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only",
|
||||||
|
"html_description": "<td><em>Optional</em>. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only</td>",
|
||||||
|
"rst_description": "*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only\n",
|
||||||
"name": "premium_subscription_month_count",
|
"name": "premium_subscription_month_count",
|
||||||
"required": false
|
"required": false
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.",
|
"description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.",
|
||||||
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.</td>",
|
"html_description": "<td>Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.</td>",
|
||||||
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.\n",
|
"rst_description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.\n",
|
||||||
"name": "payload",
|
"name": "payload",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
|
|
|
||||||
33
.butcher/types/PaidMediaPurchased/entity.json
Normal file
33
.butcher/types/PaidMediaPurchased/entity.json
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
"meta": {},
|
||||||
|
"group": {
|
||||||
|
"title": "Payments",
|
||||||
|
"anchor": "payments"
|
||||||
|
},
|
||||||
|
"object": {
|
||||||
|
"anchor": "paidmediapurchased",
|
||||||
|
"name": "PaidMediaPurchased",
|
||||||
|
"description": "This object contains information about a paid media purchase.",
|
||||||
|
"html_description": "<p>This object contains information about a paid media purchase.</p>",
|
||||||
|
"rst_description": "This object contains information about a paid media purchase.",
|
||||||
|
"annotations": [
|
||||||
|
{
|
||||||
|
"type": "User",
|
||||||
|
"description": "User who purchased the media",
|
||||||
|
"html_description": "<td>User who purchased the media</td>",
|
||||||
|
"rst_description": "User who purchased the media\n",
|
||||||
|
"name": "from",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "String",
|
||||||
|
"description": "Bot-specified paid media payload",
|
||||||
|
"html_description": "<td>Bot-specified paid media payload</td>",
|
||||||
|
"rst_description": "Bot-specified paid media payload\n",
|
||||||
|
"name": "paid_media_payload",
|
||||||
|
"required": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"category": "types"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -42,6 +42,14 @@
|
||||||
"rst_description": "*Optional*. Information about the paid media bought by the user\n",
|
"rst_description": "*Optional*. Information about the paid media bought by the user\n",
|
||||||
"name": "paid_media",
|
"name": "paid_media",
|
||||||
"required": false
|
"required": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "String",
|
||||||
|
"description": "Bot-specified paid media payload",
|
||||||
|
"html_description": "<td><em>Optional</em>. Bot-specified paid media payload</td>",
|
||||||
|
"rst_description": "*Optional*. Bot-specified paid media payload\n",
|
||||||
|
"name": "paid_media_payload",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"category": "types"
|
"category": "types"
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,14 @@
|
||||||
"name": "pre_checkout_query",
|
"name": "pre_checkout_query",
|
||||||
"required": false
|
"required": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "PaidMediaPurchased",
|
||||||
|
"description": "A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat",
|
||||||
|
"html_description": "<td><em>Optional</em>. A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat</td>",
|
||||||
|
"rst_description": "*Optional*. A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat\n",
|
||||||
|
"name": "purchased_paid_media",
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "Poll",
|
"type": "Poll",
|
||||||
"description": "New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot",
|
"description": "New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot",
|
||||||
|
|
|
||||||
15
CHANGES/1510.feature.rst
Normal file
15
CHANGES/1510.feature.rst
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
- Added updates about purchased paid media, represented by the class
|
||||||
|
:class:`aiogram.types.paid_media_purchased.PaidMediaPurchased`
|
||||||
|
and the field :code:`purchased_paid_media` in the class
|
||||||
|
:class:`aiogram.types.update.Update`.
|
||||||
|
- Added the ability to specify a payload in
|
||||||
|
:class:`aiogram.methods.send_paid_media.SendPaidMedia` that is received back by the bot in
|
||||||
|
:class:`aiogram.types.transaction_partner_user.TransactionPartnerUser`
|
||||||
|
and :code:`purchased_paid_media` updates.
|
||||||
|
- Added the field :code:`prize_star_count` to the classes
|
||||||
|
:class:`aiogram.types.giveaway_created.GiveawayCreated`,
|
||||||
|
:class:`aiogram.types.giveaway.Giveaway`,
|
||||||
|
:class:`aiogram.types.giveaway_winners.GiveawayWinners`
|
||||||
|
and :class:`aiogram.types.chat_boost_source_giveaway.ChatBoostSourceGiveaway`.
|
||||||
|
- Added the field :code:`is_star_giveaway` to the class
|
||||||
|
:class:`aiogram.types.giveaway_completed.GiveawayCompleted`.
|
||||||
|
|
@ -1000,7 +1000,7 @@ class Bot:
|
||||||
|
|
||||||
:param title: Product name, 1-32 characters
|
:param title: Product name, 1-32 characters
|
||||||
:param description: Product description, 1-255 characters
|
:param description: Product description, 1-255 characters
|
||||||
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
|
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param provider_token: Payment provider token, obtained via `@BotFather <https://t.me/botfather>`_. Pass an empty string for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param provider_token: Payment provider token, obtained via `@BotFather <https://t.me/botfather>`_. Pass an empty string for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
|
|
@ -2669,7 +2669,7 @@ class Bot:
|
||||||
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`)
|
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`)
|
||||||
:param title: Product name, 1-32 characters
|
:param title: Product name, 1-32 characters
|
||||||
:param description: Product description, 1-255 characters
|
:param description: Product description, 1-255 characters
|
||||||
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
|
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param message_thread_id: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
:param message_thread_id: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
||||||
|
|
@ -4658,6 +4658,7 @@ class Bot:
|
||||||
star_count: int,
|
star_count: int,
|
||||||
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]],
|
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]],
|
||||||
business_connection_id: Optional[str] = None,
|
business_connection_id: Optional[str] = None,
|
||||||
|
payload: Optional[str] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
parse_mode: Optional[str] = None,
|
parse_mode: Optional[str] = None,
|
||||||
caption_entities: Optional[List[MessageEntity]] = None,
|
caption_entities: Optional[List[MessageEntity]] = None,
|
||||||
|
|
@ -4676,9 +4677,10 @@ class Bot:
|
||||||
Source: https://core.telegram.org/bots/api#sendpaidmedia
|
Source: https://core.telegram.org/bots/api#sendpaidmedia
|
||||||
|
|
||||||
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`). If the chat is a channel, all Telegram Star proceeds from this media will be credited to the chat's balance. Otherwise, they will be credited to the bot's balance.
|
:param chat_id: Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`). If the chat is a channel, all Telegram Star proceeds from this media will be credited to the chat's balance. Otherwise, they will be credited to the bot's balance.
|
||||||
:param star_count: The number of Telegram Stars that must be paid to buy access to the media
|
:param star_count: The number of Telegram Stars that must be paid to buy access to the media; 1-2500
|
||||||
:param media: A JSON-serialized array describing the media to be sent; up to 10 items
|
:param media: A JSON-serialized array describing the media to be sent; up to 10 items
|
||||||
:param business_connection_id: Unique identifier of the business connection on behalf of which the message will be sent
|
:param business_connection_id: Unique identifier of the business connection on behalf of which the message will be sent
|
||||||
|
:param payload: Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param caption: Media caption, 0-1024 characters after entities parsing
|
:param caption: Media caption, 0-1024 characters after entities parsing
|
||||||
:param parse_mode: Mode for parsing entities in the media caption. See `formatting options <https://core.telegram.org/bots/api#formatting-options>`_ for more details.
|
:param parse_mode: Mode for parsing entities in the media caption. See `formatting options <https://core.telegram.org/bots/api#formatting-options>`_ for more details.
|
||||||
:param caption_entities: A JSON-serialized list of special entities that appear in the caption, which can be specified instead of *parse_mode*
|
:param caption_entities: A JSON-serialized list of special entities that appear in the caption, which can be specified instead of *parse_mode*
|
||||||
|
|
@ -4696,6 +4698,7 @@ class Bot:
|
||||||
star_count=star_count,
|
star_count=star_count,
|
||||||
media=media,
|
media=media,
|
||||||
business_connection_id=business_connection_id,
|
business_connection_id=business_connection_id,
|
||||||
|
payload=payload,
|
||||||
caption=caption,
|
caption=caption,
|
||||||
parse_mode=parse_mode,
|
parse_mode=parse_mode,
|
||||||
caption_entities=caption_entities,
|
caption_entities=caption_entities,
|
||||||
|
|
|
||||||
|
|
@ -175,4 +175,8 @@ class UserContextMiddleware(BaseMiddleware):
|
||||||
),
|
),
|
||||||
business_connection_id=event.edited_business_message.business_connection_id,
|
business_connection_id=event.edited_business_message.business_connection_id,
|
||||||
)
|
)
|
||||||
|
if event.purchased_paid_media:
|
||||||
|
return EventContext(
|
||||||
|
user=event.purchased_paid_media.from_user,
|
||||||
|
)
|
||||||
return EventContext()
|
return EventContext()
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,9 @@ class Router:
|
||||||
router=self, event_name="edited_business_message"
|
router=self, event_name="edited_business_message"
|
||||||
)
|
)
|
||||||
self.business_message = TelegramEventObserver(router=self, event_name="business_message")
|
self.business_message = TelegramEventObserver(router=self, event_name="business_message")
|
||||||
|
self.purchased_paid_media = TelegramEventObserver(
|
||||||
|
router=self, event_name="purchased_paid_media"
|
||||||
|
)
|
||||||
|
|
||||||
self.errors = self.error = TelegramEventObserver(router=self, event_name="error")
|
self.errors = self.error = TelegramEventObserver(router=self, event_name="error")
|
||||||
|
|
||||||
|
|
@ -99,6 +102,7 @@ class Router:
|
||||||
"business_connection": self.business_connection,
|
"business_connection": self.business_connection,
|
||||||
"edited_business_message": self.edited_business_message,
|
"edited_business_message": self.edited_business_message,
|
||||||
"business_message": self.business_message,
|
"business_message": self.business_message,
|
||||||
|
"purchased_paid_media": self.purchased_paid_media,
|
||||||
"error": self.errors,
|
"error": self.errors,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ class UpdateType(str, Enum):
|
||||||
CALLBACK_QUERY = "callback_query"
|
CALLBACK_QUERY = "callback_query"
|
||||||
SHIPPING_QUERY = "shipping_query"
|
SHIPPING_QUERY = "shipping_query"
|
||||||
PRE_CHECKOUT_QUERY = "pre_checkout_query"
|
PRE_CHECKOUT_QUERY = "pre_checkout_query"
|
||||||
|
PURCHASED_PAID_MEDIA = "purchased_paid_media"
|
||||||
POLL = "poll"
|
POLL = "poll"
|
||||||
POLL_ANSWER = "poll_answer"
|
POLL_ANSWER = "poll_answer"
|
||||||
MY_CHAT_MEMBER = "my_chat_member"
|
MY_CHAT_MEMBER = "my_chat_member"
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ class CreateInvoiceLink(TelegramMethod[str]):
|
||||||
description: str
|
description: str
|
||||||
"""Product description, 1-255 characters"""
|
"""Product description, 1-255 characters"""
|
||||||
payload: str
|
payload: str
|
||||||
"""Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes."""
|
"""Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes."""
|
||||||
currency: str
|
currency: str
|
||||||
"""Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_."""
|
"""Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_."""
|
||||||
prices: List[LabeledPrice]
|
prices: List[LabeledPrice]
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ class SendInvoice(TelegramMethod[Message]):
|
||||||
description: str
|
description: str
|
||||||
"""Product description, 1-255 characters"""
|
"""Product description, 1-255 characters"""
|
||||||
payload: str
|
payload: str
|
||||||
"""Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes."""
|
"""Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes."""
|
||||||
currency: str
|
currency: str
|
||||||
"""Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_."""
|
"""Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_."""
|
||||||
prices: List[LabeledPrice]
|
prices: List[LabeledPrice]
|
||||||
|
|
|
||||||
|
|
@ -29,11 +29,13 @@ class SendPaidMedia(TelegramMethod[Message]):
|
||||||
chat_id: Union[int, str]
|
chat_id: Union[int, str]
|
||||||
"""Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`). If the chat is a channel, all Telegram Star proceeds from this media will be credited to the chat's balance. Otherwise, they will be credited to the bot's balance."""
|
"""Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`). If the chat is a channel, all Telegram Star proceeds from this media will be credited to the chat's balance. Otherwise, they will be credited to the bot's balance."""
|
||||||
star_count: int
|
star_count: int
|
||||||
"""The number of Telegram Stars that must be paid to buy access to the media"""
|
"""The number of Telegram Stars that must be paid to buy access to the media; 1-2500"""
|
||||||
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]]
|
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]]
|
||||||
"""A JSON-serialized array describing the media to be sent; up to 10 items"""
|
"""A JSON-serialized array describing the media to be sent; up to 10 items"""
|
||||||
business_connection_id: Optional[str] = None
|
business_connection_id: Optional[str] = None
|
||||||
"""Unique identifier of the business connection on behalf of which the message will be sent"""
|
"""Unique identifier of the business connection on behalf of which the message will be sent"""
|
||||||
|
payload: Optional[str] = None
|
||||||
|
"""Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes."""
|
||||||
caption: Optional[str] = None
|
caption: Optional[str] = None
|
||||||
"""Media caption, 0-1024 characters after entities parsing"""
|
"""Media caption, 0-1024 characters after entities parsing"""
|
||||||
parse_mode: Optional[str] = None
|
parse_mode: Optional[str] = None
|
||||||
|
|
@ -64,6 +66,7 @@ class SendPaidMedia(TelegramMethod[Message]):
|
||||||
star_count: int,
|
star_count: int,
|
||||||
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]],
|
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]],
|
||||||
business_connection_id: Optional[str] = None,
|
business_connection_id: Optional[str] = None,
|
||||||
|
payload: Optional[str] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
parse_mode: Optional[str] = None,
|
parse_mode: Optional[str] = None,
|
||||||
caption_entities: Optional[List[MessageEntity]] = None,
|
caption_entities: Optional[List[MessageEntity]] = None,
|
||||||
|
|
@ -85,6 +88,7 @@ class SendPaidMedia(TelegramMethod[Message]):
|
||||||
star_count=star_count,
|
star_count=star_count,
|
||||||
media=media,
|
media=media,
|
||||||
business_connection_id=business_connection_id,
|
business_connection_id=business_connection_id,
|
||||||
|
payload=payload,
|
||||||
caption=caption,
|
caption=caption,
|
||||||
parse_mode=parse_mode,
|
parse_mode=parse_mode,
|
||||||
caption_entities=caption_entities,
|
caption_entities=caption_entities,
|
||||||
|
|
|
||||||
|
|
@ -233,6 +233,7 @@ from .web_app_data import WebAppData
|
||||||
from .web_app_info import WebAppInfo
|
from .web_app_info import WebAppInfo
|
||||||
from .webhook_info import WebhookInfo
|
from .webhook_info import WebhookInfo
|
||||||
from .write_access_allowed import WriteAccessAllowed
|
from .write_access_allowed import WriteAccessAllowed
|
||||||
|
from .paid_media_purchased import PaidMediaPurchased
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
"Animation",
|
"Animation",
|
||||||
|
|
@ -397,6 +398,7 @@ __all__ = (
|
||||||
"PaidMediaInfo",
|
"PaidMediaInfo",
|
||||||
"PaidMediaPhoto",
|
"PaidMediaPhoto",
|
||||||
"PaidMediaPreview",
|
"PaidMediaPreview",
|
||||||
|
"PaidMediaPurchased",
|
||||||
"PaidMediaVideo",
|
"PaidMediaVideo",
|
||||||
"PassportData",
|
"PassportData",
|
||||||
"PassportElementError",
|
"PassportElementError",
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ if TYPE_CHECKING:
|
||||||
|
|
||||||
class ChatBoostSourceGiveaway(ChatBoostSource):
|
class ChatBoostSourceGiveaway(ChatBoostSource):
|
||||||
"""
|
"""
|
||||||
The boost was obtained by the creation of a Telegram Premium giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription.
|
The boost was obtained by the creation of a Telegram Premium or a Telegram Star giveaway. This boosts the chat 4 times for the duration of the corresponding Telegram Premium subscription for Telegram Premium giveaways and *prize_star_count* / 500 times for one year for Telegram Star giveaways.
|
||||||
|
|
||||||
Source: https://core.telegram.org/bots/api#chatboostsourcegiveaway
|
Source: https://core.telegram.org/bots/api#chatboostsourcegiveaway
|
||||||
"""
|
"""
|
||||||
|
|
@ -21,7 +21,9 @@ class ChatBoostSourceGiveaway(ChatBoostSource):
|
||||||
giveaway_message_id: int
|
giveaway_message_id: int
|
||||||
"""Identifier of a message in the chat with the giveaway; the message could have been deleted already. May be 0 if the message isn't sent yet."""
|
"""Identifier of a message in the chat with the giveaway; the message could have been deleted already. May be 0 if the message isn't sent yet."""
|
||||||
user: Optional[User] = None
|
user: Optional[User] = None
|
||||||
"""*Optional*. User that won the prize in the giveaway if any"""
|
"""*Optional*. User that won the prize in the giveaway if any; for Telegram Premium giveaways only"""
|
||||||
|
prize_star_count: Optional[int] = None
|
||||||
|
"""*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only"""
|
||||||
is_unclaimed: Optional[bool] = None
|
is_unclaimed: Optional[bool] = None
|
||||||
"""*Optional*. True, if the giveaway was completed, but there was no user to win the prize"""
|
"""*Optional*. True, if the giveaway was completed, but there was no user to win the prize"""
|
||||||
|
|
||||||
|
|
@ -35,6 +37,7 @@ class ChatBoostSourceGiveaway(ChatBoostSource):
|
||||||
source: Literal[ChatBoostSourceType.GIVEAWAY] = ChatBoostSourceType.GIVEAWAY,
|
source: Literal[ChatBoostSourceType.GIVEAWAY] = ChatBoostSourceType.GIVEAWAY,
|
||||||
giveaway_message_id: int,
|
giveaway_message_id: int,
|
||||||
user: Optional[User] = None,
|
user: Optional[User] = None,
|
||||||
|
prize_star_count: Optional[int] = None,
|
||||||
is_unclaimed: Optional[bool] = None,
|
is_unclaimed: Optional[bool] = None,
|
||||||
**__pydantic_kwargs: Any,
|
**__pydantic_kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
|
@ -46,6 +49,7 @@ class ChatBoostSourceGiveaway(ChatBoostSource):
|
||||||
source=source,
|
source=source,
|
||||||
giveaway_message_id=giveaway_message_id,
|
giveaway_message_id=giveaway_message_id,
|
||||||
user=user,
|
user=user,
|
||||||
|
prize_star_count=prize_star_count,
|
||||||
is_unclaimed=is_unclaimed,
|
is_unclaimed=is_unclaimed,
|
||||||
**__pydantic_kwargs,
|
**__pydantic_kwargs,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,10 @@ class ChatInviteLink(TelegramObject):
|
||||||
"""*Optional*. The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999"""
|
"""*Optional*. The maximum number of users that can be members of the chat simultaneously after joining the chat via this invite link; 1-99999"""
|
||||||
pending_join_request_count: Optional[int] = None
|
pending_join_request_count: Optional[int] = None
|
||||||
"""*Optional*. Number of pending join requests created using this link"""
|
"""*Optional*. Number of pending join requests created using this link"""
|
||||||
|
subscription_period: Optional[int] = None
|
||||||
|
"""*Optional*. The number of seconds the subscription will be active for before the next payment"""
|
||||||
|
subscription_price: Optional[int] = None
|
||||||
|
"""*Optional*. The amount of Telegram Stars a user must pay initially and after each subsequent subscription period to be a member of the chat using the link"""
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
# DO NOT EDIT MANUALLY!!!
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
|
@ -51,6 +55,8 @@ class ChatInviteLink(TelegramObject):
|
||||||
expire_date: Optional[DateTime] = None,
|
expire_date: Optional[DateTime] = None,
|
||||||
member_limit: Optional[int] = None,
|
member_limit: Optional[int] = None,
|
||||||
pending_join_request_count: Optional[int] = None,
|
pending_join_request_count: Optional[int] = None,
|
||||||
|
subscription_period: Optional[int] = None,
|
||||||
|
subscription_price: Optional[int] = None,
|
||||||
**__pydantic_kwargs: Any,
|
**__pydantic_kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
# DO NOT EDIT MANUALLY!!!
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
|
@ -67,5 +73,7 @@ class ChatInviteLink(TelegramObject):
|
||||||
expire_date=expire_date,
|
expire_date=expire_date,
|
||||||
member_limit=member_limit,
|
member_limit=member_limit,
|
||||||
pending_join_request_count=pending_join_request_count,
|
pending_join_request_count=pending_join_request_count,
|
||||||
|
subscription_period=subscription_period,
|
||||||
|
subscription_price=subscription_price,
|
||||||
**__pydantic_kwargs,
|
**__pydantic_kwargs,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1074,7 +1074,7 @@ class ChatJoinRequest(TelegramObject):
|
||||||
|
|
||||||
:param title: Product name, 1-32 characters
|
:param title: Product name, 1-32 characters
|
||||||
:param description: Product description, 1-255 characters
|
:param description: Product description, 1-255 characters
|
||||||
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
|
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param message_thread_id: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
:param message_thread_id: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
||||||
|
|
@ -1187,7 +1187,7 @@ class ChatJoinRequest(TelegramObject):
|
||||||
|
|
||||||
:param title: Product name, 1-32 characters
|
:param title: Product name, 1-32 characters
|
||||||
:param description: Product description, 1-255 characters
|
:param description: Product description, 1-255 characters
|
||||||
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
|
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param message_thread_id: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
:param message_thread_id: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
||||||
|
|
|
||||||
|
|
@ -621,7 +621,7 @@ class ChatMemberUpdated(TelegramObject):
|
||||||
|
|
||||||
:param title: Product name, 1-32 characters
|
:param title: Product name, 1-32 characters
|
||||||
:param description: Product description, 1-255 characters
|
:param description: Product description, 1-255 characters
|
||||||
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
|
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param message_thread_id: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
:param message_thread_id: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,10 @@ class Giveaway(TelegramObject):
|
||||||
"""*Optional*. Description of additional giveaway prize"""
|
"""*Optional*. Description of additional giveaway prize"""
|
||||||
country_codes: Optional[List[str]] = None
|
country_codes: Optional[List[str]] = None
|
||||||
"""*Optional*. A list of two-letter `ISO 3166-1 alpha-2 <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2>`_ country codes indicating the countries from which eligible users for the giveaway must come. If empty, then all users can participate in the giveaway. Users with a phone number that was bought on Fragment can always participate in giveaways."""
|
"""*Optional*. A list of two-letter `ISO 3166-1 alpha-2 <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2>`_ country codes indicating the countries from which eligible users for the giveaway must come. If empty, then all users can participate in the giveaway. Users with a phone number that was bought on Fragment can always participate in giveaways."""
|
||||||
|
prize_star_count: Optional[int] = None
|
||||||
|
"""*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only"""
|
||||||
premium_subscription_month_count: Optional[int] = None
|
premium_subscription_month_count: Optional[int] = None
|
||||||
"""*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for"""
|
"""*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only"""
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
# DO NOT EDIT MANUALLY!!!
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
|
@ -47,6 +49,7 @@ class Giveaway(TelegramObject):
|
||||||
has_public_winners: Optional[bool] = None,
|
has_public_winners: Optional[bool] = None,
|
||||||
prize_description: Optional[str] = None,
|
prize_description: Optional[str] = None,
|
||||||
country_codes: Optional[List[str]] = None,
|
country_codes: Optional[List[str]] = None,
|
||||||
|
prize_star_count: Optional[int] = None,
|
||||||
premium_subscription_month_count: Optional[int] = None,
|
premium_subscription_month_count: Optional[int] = None,
|
||||||
**__pydantic_kwargs: Any,
|
**__pydantic_kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
|
@ -62,6 +65,7 @@ class Giveaway(TelegramObject):
|
||||||
has_public_winners=has_public_winners,
|
has_public_winners=has_public_winners,
|
||||||
prize_description=prize_description,
|
prize_description=prize_description,
|
||||||
country_codes=country_codes,
|
country_codes=country_codes,
|
||||||
|
prize_star_count=prize_star_count,
|
||||||
premium_subscription_month_count=premium_subscription_month_count,
|
premium_subscription_month_count=premium_subscription_month_count,
|
||||||
**__pydantic_kwargs,
|
**__pydantic_kwargs,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,8 @@ class GiveawayCompleted(TelegramObject):
|
||||||
"""*Optional*. Number of undistributed prizes"""
|
"""*Optional*. Number of undistributed prizes"""
|
||||||
giveaway_message: Optional[Message] = None
|
giveaway_message: Optional[Message] = None
|
||||||
"""*Optional*. Message with the giveaway that was completed, if it wasn't deleted"""
|
"""*Optional*. Message with the giveaway that was completed, if it wasn't deleted"""
|
||||||
|
is_star_giveaway: Optional[bool] = None
|
||||||
|
"""*Optional*. :code:`True`, if the giveaway is a Telegram Star giveaway. Otherwise, currently, the giveaway is a Telegram Premium giveaway."""
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
# DO NOT EDIT MANUALLY!!!
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
|
@ -32,6 +34,7 @@ class GiveawayCompleted(TelegramObject):
|
||||||
winner_count: int,
|
winner_count: int,
|
||||||
unclaimed_prize_count: Optional[int] = None,
|
unclaimed_prize_count: Optional[int] = None,
|
||||||
giveaway_message: Optional[Message] = None,
|
giveaway_message: Optional[Message] = None,
|
||||||
|
is_star_giveaway: Optional[bool] = None,
|
||||||
**__pydantic_kwargs: Any,
|
**__pydantic_kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
# DO NOT EDIT MANUALLY!!!
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
|
@ -42,5 +45,6 @@ class GiveawayCompleted(TelegramObject):
|
||||||
winner_count=winner_count,
|
winner_count=winner_count,
|
||||||
unclaimed_prize_count=unclaimed_prize_count,
|
unclaimed_prize_count=unclaimed_prize_count,
|
||||||
giveaway_message=giveaway_message,
|
giveaway_message=giveaway_message,
|
||||||
|
is_star_giveaway=is_star_giveaway,
|
||||||
**__pydantic_kwargs,
|
**__pydantic_kwargs,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,29 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import TYPE_CHECKING, Any, Optional
|
||||||
|
|
||||||
from .base import TelegramObject
|
from .base import TelegramObject
|
||||||
|
|
||||||
|
|
||||||
class GiveawayCreated(TelegramObject):
|
class GiveawayCreated(TelegramObject):
|
||||||
"""
|
"""
|
||||||
This object represents a service message about the creation of a scheduled giveaway. Currently holds no information.
|
This object represents a service message about the creation of a scheduled giveaway.
|
||||||
|
|
||||||
Source: https://core.telegram.org/bots/api#giveawaycreated
|
Source: https://core.telegram.org/bots/api#giveawaycreated
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
prize_star_count: Optional[int] = None
|
||||||
|
"""*Optional*. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only"""
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
# This section was auto-generated via `butcher`
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
__pydantic__self__, *, prize_star_count: Optional[int] = None, **__pydantic_kwargs: Any
|
||||||
|
) -> None:
|
||||||
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
# This method was auto-generated via `butcher`
|
||||||
|
# Is needed only for type checking and IDE support without any additional plugins
|
||||||
|
|
||||||
|
super().__init__(prize_star_count=prize_star_count, **__pydantic_kwargs)
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,10 @@ class GiveawayWinners(TelegramObject):
|
||||||
"""List of up to 100 winners of the giveaway"""
|
"""List of up to 100 winners of the giveaway"""
|
||||||
additional_chat_count: Optional[int] = None
|
additional_chat_count: Optional[int] = None
|
||||||
"""*Optional*. The number of other chats the user had to join in order to be eligible for the giveaway"""
|
"""*Optional*. The number of other chats the user had to join in order to be eligible for the giveaway"""
|
||||||
|
prize_star_count: Optional[int] = None
|
||||||
|
"""*Optional*. The number of Telegram Stars that were split between giveaway winners; for Telegram Star giveaways only"""
|
||||||
premium_subscription_month_count: Optional[int] = None
|
premium_subscription_month_count: Optional[int] = None
|
||||||
"""*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for"""
|
"""*Optional*. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only"""
|
||||||
unclaimed_prize_count: Optional[int] = None
|
unclaimed_prize_count: Optional[int] = None
|
||||||
"""*Optional*. Number of undistributed prizes"""
|
"""*Optional*. Number of undistributed prizes"""
|
||||||
only_new_members: Optional[bool] = None
|
only_new_members: Optional[bool] = None
|
||||||
|
|
@ -53,6 +55,7 @@ class GiveawayWinners(TelegramObject):
|
||||||
winner_count: int,
|
winner_count: int,
|
||||||
winners: List[User],
|
winners: List[User],
|
||||||
additional_chat_count: Optional[int] = None,
|
additional_chat_count: Optional[int] = None,
|
||||||
|
prize_star_count: Optional[int] = None,
|
||||||
premium_subscription_month_count: Optional[int] = None,
|
premium_subscription_month_count: Optional[int] = None,
|
||||||
unclaimed_prize_count: Optional[int] = None,
|
unclaimed_prize_count: Optional[int] = None,
|
||||||
only_new_members: Optional[bool] = None,
|
only_new_members: Optional[bool] = None,
|
||||||
|
|
@ -71,6 +74,7 @@ class GiveawayWinners(TelegramObject):
|
||||||
winner_count=winner_count,
|
winner_count=winner_count,
|
||||||
winners=winners,
|
winners=winners,
|
||||||
additional_chat_count=additional_chat_count,
|
additional_chat_count=additional_chat_count,
|
||||||
|
prize_star_count=prize_star_count,
|
||||||
premium_subscription_month_count=premium_subscription_month_count,
|
premium_subscription_month_count=premium_subscription_month_count,
|
||||||
unclaimed_prize_count=unclaimed_prize_count,
|
unclaimed_prize_count=unclaimed_prize_count,
|
||||||
only_new_members=only_new_members,
|
only_new_members=only_new_members,
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ class InputInvoiceMessageContent(InputMessageContent):
|
||||||
description: str
|
description: str
|
||||||
"""Product description, 1-255 characters"""
|
"""Product description, 1-255 characters"""
|
||||||
payload: str
|
payload: str
|
||||||
"""Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes."""
|
"""Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes."""
|
||||||
currency: str
|
currency: str
|
||||||
"""Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_."""
|
"""Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_."""
|
||||||
prices: List[LabeledPrice]
|
prices: List[LabeledPrice]
|
||||||
|
|
|
||||||
|
|
@ -1467,7 +1467,7 @@ class Message(MaybeInaccessibleMessage):
|
||||||
|
|
||||||
:param title: Product name, 1-32 characters
|
:param title: Product name, 1-32 characters
|
||||||
:param description: Product description, 1-255 characters
|
:param description: Product description, 1-255 characters
|
||||||
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
|
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param provider_token: Payment provider token, obtained via `@BotFather <https://t.me/botfather>`_. Pass an empty string for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param provider_token: Payment provider token, obtained via `@BotFather <https://t.me/botfather>`_. Pass an empty string for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
|
|
@ -1582,7 +1582,7 @@ class Message(MaybeInaccessibleMessage):
|
||||||
|
|
||||||
:param title: Product name, 1-32 characters
|
:param title: Product name, 1-32 characters
|
||||||
:param description: Product description, 1-255 characters
|
:param description: Product description, 1-255 characters
|
||||||
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
|
:param payload: Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param currency: Three-letter ISO 4217 currency code, see `more on currencies <https://core.telegram.org/bots/payments#supported-currencies>`_. Pass 'XTR' for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param prices: Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
:param provider_token: Payment provider token, obtained via `@BotFather <https://t.me/botfather>`_. Pass an empty string for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
:param provider_token: Payment provider token, obtained via `@BotFather <https://t.me/botfather>`_. Pass an empty string for payments in `Telegram Stars <https://t.me/BotNews/90>`_.
|
||||||
|
|
@ -4103,6 +4103,7 @@ class Message(MaybeInaccessibleMessage):
|
||||||
self,
|
self,
|
||||||
star_count: int,
|
star_count: int,
|
||||||
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]],
|
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]],
|
||||||
|
payload: Optional[str] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
parse_mode: Optional[str] = None,
|
parse_mode: Optional[str] = None,
|
||||||
caption_entities: Optional[List[MessageEntity]] = None,
|
caption_entities: Optional[List[MessageEntity]] = None,
|
||||||
|
|
@ -4127,8 +4128,9 @@ class Message(MaybeInaccessibleMessage):
|
||||||
|
|
||||||
Source: https://core.telegram.org/bots/api#sendpaidmedia
|
Source: https://core.telegram.org/bots/api#sendpaidmedia
|
||||||
|
|
||||||
:param star_count: The number of Telegram Stars that must be paid to buy access to the media
|
:param star_count: The number of Telegram Stars that must be paid to buy access to the media; 1-2500
|
||||||
:param media: A JSON-serialized array describing the media to be sent; up to 10 items
|
:param media: A JSON-serialized array describing the media to be sent; up to 10 items
|
||||||
|
:param payload: Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param caption: Media caption, 0-1024 characters after entities parsing
|
:param caption: Media caption, 0-1024 characters after entities parsing
|
||||||
:param parse_mode: Mode for parsing entities in the media caption. See `formatting options <https://core.telegram.org/bots/api#formatting-options>`_ for more details.
|
:param parse_mode: Mode for parsing entities in the media caption. See `formatting options <https://core.telegram.org/bots/api#formatting-options>`_ for more details.
|
||||||
:param caption_entities: A JSON-serialized list of special entities that appear in the caption, which can be specified instead of *parse_mode*
|
:param caption_entities: A JSON-serialized list of special entities that appear in the caption, which can be specified instead of *parse_mode*
|
||||||
|
|
@ -4154,6 +4156,7 @@ class Message(MaybeInaccessibleMessage):
|
||||||
business_connection_id=self.business_connection_id,
|
business_connection_id=self.business_connection_id,
|
||||||
star_count=star_count,
|
star_count=star_count,
|
||||||
media=media,
|
media=media,
|
||||||
|
payload=payload,
|
||||||
caption=caption,
|
caption=caption,
|
||||||
parse_mode=parse_mode,
|
parse_mode=parse_mode,
|
||||||
caption_entities=caption_entities,
|
caption_entities=caption_entities,
|
||||||
|
|
@ -4169,6 +4172,7 @@ class Message(MaybeInaccessibleMessage):
|
||||||
self,
|
self,
|
||||||
star_count: int,
|
star_count: int,
|
||||||
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]],
|
media: List[Union[InputPaidMediaPhoto, InputPaidMediaVideo]],
|
||||||
|
payload: Optional[str] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
parse_mode: Optional[str] = None,
|
parse_mode: Optional[str] = None,
|
||||||
caption_entities: Optional[List[MessageEntity]] = None,
|
caption_entities: Optional[List[MessageEntity]] = None,
|
||||||
|
|
@ -4193,8 +4197,9 @@ class Message(MaybeInaccessibleMessage):
|
||||||
|
|
||||||
Source: https://core.telegram.org/bots/api#sendpaidmedia
|
Source: https://core.telegram.org/bots/api#sendpaidmedia
|
||||||
|
|
||||||
:param star_count: The number of Telegram Stars that must be paid to buy access to the media
|
:param star_count: The number of Telegram Stars that must be paid to buy access to the media; 1-2500
|
||||||
:param media: A JSON-serialized array describing the media to be sent; up to 10 items
|
:param media: A JSON-serialized array describing the media to be sent; up to 10 items
|
||||||
|
:param payload: Bot-defined paid media payload, 0-128 bytes. This will not be displayed to the user, use it for your internal processes.
|
||||||
:param caption: Media caption, 0-1024 characters after entities parsing
|
:param caption: Media caption, 0-1024 characters after entities parsing
|
||||||
:param parse_mode: Mode for parsing entities in the media caption. See `formatting options <https://core.telegram.org/bots/api#formatting-options>`_ for more details.
|
:param parse_mode: Mode for parsing entities in the media caption. See `formatting options <https://core.telegram.org/bots/api#formatting-options>`_ for more details.
|
||||||
:param caption_entities: A JSON-serialized list of special entities that appear in the caption, which can be specified instead of *parse_mode*
|
:param caption_entities: A JSON-serialized list of special entities that appear in the caption, which can be specified instead of *parse_mode*
|
||||||
|
|
@ -4220,6 +4225,7 @@ class Message(MaybeInaccessibleMessage):
|
||||||
reply_parameters=self.as_reply_parameters(),
|
reply_parameters=self.as_reply_parameters(),
|
||||||
star_count=star_count,
|
star_count=star_count,
|
||||||
media=media,
|
media=media,
|
||||||
|
payload=payload,
|
||||||
caption=caption,
|
caption=caption,
|
||||||
parse_mode=parse_mode,
|
parse_mode=parse_mode,
|
||||||
caption_entities=caption_entities,
|
caption_entities=caption_entities,
|
||||||
|
|
|
||||||
42
aiogram/types/paid_media_purchased.py
Normal file
42
aiogram/types/paid_media_purchased.py
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import TYPE_CHECKING, Any
|
||||||
|
|
||||||
|
from pydantic import Field
|
||||||
|
|
||||||
|
from .base import TelegramObject
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from .user import User
|
||||||
|
|
||||||
|
|
||||||
|
class PaidMediaPurchased(TelegramObject):
|
||||||
|
"""
|
||||||
|
This object contains information about a paid media purchase.
|
||||||
|
|
||||||
|
Source: https://core.telegram.org/bots/api#paidmediapurchased
|
||||||
|
"""
|
||||||
|
|
||||||
|
from_user: User = Field(..., alias="from")
|
||||||
|
"""User who purchased the media"""
|
||||||
|
paid_media_payload: str
|
||||||
|
"""Bot-specified paid media payload"""
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
# This section was auto-generated via `butcher`
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
__pydantic__self__,
|
||||||
|
*,
|
||||||
|
from_user: User,
|
||||||
|
paid_media_payload: str,
|
||||||
|
**__pydantic_kwargs: Any,
|
||||||
|
) -> None:
|
||||||
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
# This method was auto-generated via `butcher`
|
||||||
|
# Is needed only for type checking and IDE support without any additional plugins
|
||||||
|
|
||||||
|
super().__init__(
|
||||||
|
from_user=from_user, paid_media_payload=paid_media_payload, **__pydantic_kwargs
|
||||||
|
)
|
||||||
|
|
@ -27,6 +27,8 @@ class TransactionPartnerUser(TransactionPartner):
|
||||||
"""*Optional*. Bot-specified invoice payload"""
|
"""*Optional*. Bot-specified invoice payload"""
|
||||||
paid_media: Optional[List[Union[PaidMediaPreview, PaidMediaPhoto, PaidMediaVideo]]] = None
|
paid_media: Optional[List[Union[PaidMediaPreview, PaidMediaPhoto, PaidMediaVideo]]] = None
|
||||||
"""*Optional*. Information about the paid media bought by the user"""
|
"""*Optional*. Information about the paid media bought by the user"""
|
||||||
|
paid_media_payload: Optional[str] = None
|
||||||
|
"""*Optional*. Bot-specified paid media payload"""
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
# DO NOT EDIT MANUALLY!!!
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
|
@ -41,6 +43,7 @@ class TransactionPartnerUser(TransactionPartner):
|
||||||
paid_media: Optional[
|
paid_media: Optional[
|
||||||
List[Union[PaidMediaPreview, PaidMediaPhoto, PaidMediaVideo]]
|
List[Union[PaidMediaPreview, PaidMediaPhoto, PaidMediaVideo]]
|
||||||
] = None,
|
] = None,
|
||||||
|
paid_media_payload: Optional[str] = None,
|
||||||
**__pydantic_kwargs: Any,
|
**__pydantic_kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
# DO NOT EDIT MANUALLY!!!
|
# DO NOT EDIT MANUALLY!!!
|
||||||
|
|
@ -52,5 +55,6 @@ class TransactionPartnerUser(TransactionPartner):
|
||||||
user=user,
|
user=user,
|
||||||
invoice_payload=invoice_payload,
|
invoice_payload=invoice_payload,
|
||||||
paid_media=paid_media,
|
paid_media=paid_media,
|
||||||
|
paid_media_payload=paid_media_payload,
|
||||||
**__pydantic_kwargs,
|
**__pydantic_kwargs,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ from __future__ import annotations
|
||||||
|
|
||||||
from typing import TYPE_CHECKING, Any, Optional, cast
|
from typing import TYPE_CHECKING, Any, Optional, cast
|
||||||
|
|
||||||
from ..utils.mypy_hacks import lru_cache
|
|
||||||
from .base import TelegramObject
|
from .base import TelegramObject
|
||||||
|
from ..utils.mypy_hacks import lru_cache
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .business_connection import BusinessConnection
|
from .business_connection import BusinessConnection
|
||||||
|
|
@ -22,6 +22,7 @@ if TYPE_CHECKING:
|
||||||
from .poll_answer import PollAnswer
|
from .poll_answer import PollAnswer
|
||||||
from .pre_checkout_query import PreCheckoutQuery
|
from .pre_checkout_query import PreCheckoutQuery
|
||||||
from .shipping_query import ShippingQuery
|
from .shipping_query import ShippingQuery
|
||||||
|
from .paid_media_purchased import PaidMediaPurchased
|
||||||
|
|
||||||
|
|
||||||
class Update(TelegramObject):
|
class Update(TelegramObject):
|
||||||
|
|
@ -65,6 +66,8 @@ class Update(TelegramObject):
|
||||||
"""*Optional*. New incoming shipping query. Only for invoices with flexible price"""
|
"""*Optional*. New incoming shipping query. Only for invoices with flexible price"""
|
||||||
pre_checkout_query: Optional[PreCheckoutQuery] = None
|
pre_checkout_query: Optional[PreCheckoutQuery] = None
|
||||||
"""*Optional*. New incoming pre-checkout query. Contains full information about checkout"""
|
"""*Optional*. New incoming pre-checkout query. Contains full information about checkout"""
|
||||||
|
purchased_paid_media: Optional[PaidMediaPurchased] = None
|
||||||
|
"""*Optional*. A user purchased paid media with a non-empty payload sent by the bot in a non-channel chat"""
|
||||||
poll: Optional[Poll] = None
|
poll: Optional[Poll] = None
|
||||||
"""*Optional*. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot"""
|
"""*Optional*. New poll state. Bots receive only updates about manually stopped polls and polls, which are sent by the bot"""
|
||||||
poll_answer: Optional[PollAnswer] = None
|
poll_answer: Optional[PollAnswer] = None
|
||||||
|
|
@ -103,6 +106,7 @@ class Update(TelegramObject):
|
||||||
callback_query: Optional[CallbackQuery] = None,
|
callback_query: Optional[CallbackQuery] = None,
|
||||||
shipping_query: Optional[ShippingQuery] = None,
|
shipping_query: Optional[ShippingQuery] = None,
|
||||||
pre_checkout_query: Optional[PreCheckoutQuery] = None,
|
pre_checkout_query: Optional[PreCheckoutQuery] = None,
|
||||||
|
purchased_paid_media: Optional[PaidMediaPurchased] = None,
|
||||||
poll: Optional[Poll] = None,
|
poll: Optional[Poll] = None,
|
||||||
poll_answer: Optional[PollAnswer] = None,
|
poll_answer: Optional[PollAnswer] = None,
|
||||||
my_chat_member: Optional[ChatMemberUpdated] = None,
|
my_chat_member: Optional[ChatMemberUpdated] = None,
|
||||||
|
|
@ -133,6 +137,7 @@ class Update(TelegramObject):
|
||||||
callback_query=callback_query,
|
callback_query=callback_query,
|
||||||
shipping_query=shipping_query,
|
shipping_query=shipping_query,
|
||||||
pre_checkout_query=pre_checkout_query,
|
pre_checkout_query=pre_checkout_query,
|
||||||
|
purchased_paid_media=purchased_paid_media,
|
||||||
poll=poll,
|
poll=poll,
|
||||||
poll_answer=poll_answer,
|
poll_answer=poll_answer,
|
||||||
my_chat_member=my_chat_member,
|
my_chat_member=my_chat_member,
|
||||||
|
|
@ -199,6 +204,8 @@ class Update(TelegramObject):
|
||||||
return "edited_business_message"
|
return "edited_business_message"
|
||||||
if self.business_message:
|
if self.business_message:
|
||||||
return "business_message"
|
return "business_message"
|
||||||
|
if self.purchased_paid_media:
|
||||||
|
return "purchased_paid_media"
|
||||||
|
|
||||||
raise UpdateTypeLookupError("Update does not contain any known event type.")
|
raise UpdateTypeLookupError("Update does not contain any known event type.")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -212,6 +212,34 @@ Stickers
|
||||||
sticker
|
sticker
|
||||||
sticker_set
|
sticker_set
|
||||||
|
|
||||||
|
Payments
|
||||||
|
========
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
invoice
|
||||||
|
labeled_price
|
||||||
|
order_info
|
||||||
|
paid_media_purchased
|
||||||
|
pre_checkout_query
|
||||||
|
refunded_payment
|
||||||
|
revenue_withdrawal_state
|
||||||
|
revenue_withdrawal_state_failed
|
||||||
|
revenue_withdrawal_state_pending
|
||||||
|
revenue_withdrawal_state_succeeded
|
||||||
|
shipping_address
|
||||||
|
shipping_option
|
||||||
|
shipping_query
|
||||||
|
star_transaction
|
||||||
|
star_transactions
|
||||||
|
successful_payment
|
||||||
|
transaction_partner
|
||||||
|
transaction_partner_fragment
|
||||||
|
transaction_partner_other
|
||||||
|
transaction_partner_telegram_ads
|
||||||
|
transaction_partner_user
|
||||||
|
|
||||||
Telegram Passport
|
Telegram Passport
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
|
@ -233,33 +261,6 @@ Telegram Passport
|
||||||
passport_element_error_unspecified
|
passport_element_error_unspecified
|
||||||
passport_file
|
passport_file
|
||||||
|
|
||||||
Payments
|
|
||||||
========
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 1
|
|
||||||
|
|
||||||
invoice
|
|
||||||
labeled_price
|
|
||||||
order_info
|
|
||||||
pre_checkout_query
|
|
||||||
refunded_payment
|
|
||||||
revenue_withdrawal_state
|
|
||||||
revenue_withdrawal_state_failed
|
|
||||||
revenue_withdrawal_state_pending
|
|
||||||
revenue_withdrawal_state_succeeded
|
|
||||||
shipping_address
|
|
||||||
shipping_option
|
|
||||||
shipping_query
|
|
||||||
star_transaction
|
|
||||||
star_transactions
|
|
||||||
successful_payment
|
|
||||||
transaction_partner
|
|
||||||
transaction_partner_fragment
|
|
||||||
transaction_partner_other
|
|
||||||
transaction_partner_telegram_ads
|
|
||||||
transaction_partner_user
|
|
||||||
|
|
||||||
Getting updates
|
Getting updates
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
|
|
||||||
10
docs/api/types/paid_media_purchased.rst
Normal file
10
docs/api/types/paid_media_purchased.rst
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
##################
|
||||||
|
PaidMediaPurchased
|
||||||
|
##################
|
||||||
|
|
||||||
|
|
||||||
|
.. automodule:: aiogram.types.paid_media_purchased
|
||||||
|
:members:
|
||||||
|
:member-order: bysource
|
||||||
|
:undoc-members: True
|
||||||
|
:exclude-members: model_config,model_fields
|
||||||
|
|
@ -527,7 +527,7 @@ TEST_MESSAGE_GIVEAWAY_CREATED = Message(
|
||||||
date=datetime.datetime.now(),
|
date=datetime.datetime.now(),
|
||||||
chat=Chat(id=42, type="private"),
|
chat=Chat(id=42, type="private"),
|
||||||
from_user=None,
|
from_user=None,
|
||||||
giveaway_created=GiveawayCreated(),
|
giveaway_created=GiveawayCreated(prize_star_count=42),
|
||||||
)
|
)
|
||||||
TEST_MESSAGE_GIVEAWAY_WINNERS = Message(
|
TEST_MESSAGE_GIVEAWAY_WINNERS = Message(
|
||||||
message_id=42,
|
message_id=42,
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@ from aiogram.types import (
|
||||||
ShippingQuery,
|
ShippingQuery,
|
||||||
Update,
|
Update,
|
||||||
User,
|
User,
|
||||||
|
PaidMediaPurchased,
|
||||||
)
|
)
|
||||||
from aiogram.types.error_event import ErrorEvent
|
from aiogram.types.error_event import ErrorEvent
|
||||||
from tests.mocked_bot import MockedBot
|
from tests.mocked_bot import MockedBot
|
||||||
|
|
@ -586,6 +587,18 @@ class TestDispatcher:
|
||||||
True,
|
True,
|
||||||
True,
|
True,
|
||||||
),
|
),
|
||||||
|
pytest.param(
|
||||||
|
"purchased_paid_media",
|
||||||
|
Update(
|
||||||
|
update_id=42,
|
||||||
|
purchased_paid_media=PaidMediaPurchased(
|
||||||
|
paid_media_payload="payload",
|
||||||
|
from_user=User(id=42, is_bot=False, first_name="Test"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
False,
|
||||||
|
True,
|
||||||
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_listen_update(
|
async def test_listen_update(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue