Star Gifts¶
Telegram Star Gifts allow users to send unique stickers and collectibles using Telegram Stars.
Handling Star Gifts¶
Receive and parse star gift service messages:
from pyrogram import Client, enums
app = Client("my_account")
@app.on_message()
async def star_gift_handler(client, message):
if message.service == enums.MessageServiceType.STAR_GIFT:
gift = message.star_gift
print(f"Received gift: {gift.title}")
print(f"Price: {gift.stars} stars")
print(f"Convert value: {gift.convert_stars} stars")
if message.service == enums.MessageServiceType.STAR_GIFT_UNIQUE:
unique_gift = message.star_gift_unique
print(f"Received unique gift: {unique_gift.title} #{unique_gift.num}")
print(f"Slug: {unique_gift.slug}")
app.run()
Getting Available Gifts¶
Get a list of gifts available for purchase:
from pyrogram import Client
app = Client("my_account")
async def main():
gifts = await app.get_star_gifts()
for gift in gifts:
print(f"Gift: {gift.title} ({gift.stars} Stars)")
if gift.limited:
print(f"Limited: {gift.availability_remains}/{gift.availability_total}")
with app:
app.loop.run_until_complete(main())
Managing Saved Gifts¶
Retrieve and manage gifts saved on your profile:
from pyrogram import Client
app = Client("my_account")
async def main():
# Get your own saved gifts
saved_gifts = await app.get_saved_star_gifts("me")
for gift in saved_gifts:
print(f"Saved unique gift: {gift.title} #{gift.num}")
with app:
app.loop.run_until_complete(main())