Suggested Posts¶
Channels can have suggested posts that administrators can approve, edit, or refund.
Handling Suggested Posts¶
Suggested posts appear in the suggested_post attribute:
from pyrogram import Client
app = Client("my_account")
@app.on_message()
async def suggested_post_handler(client, message):
if message.suggested_post:
print(f"New suggested post in {message.chat.title}")
print(f"Suggested by: {message.suggested_post.user.first_name}")
if message.suggested_post.stars:
print(f"Price: {message.suggested_post.stars.amount} Stars")
app.run()
Service Messages¶
Handle suggested post lifecycle events:
from pyrogram import Client, enums
app = Client("my_account")
@app.on_message()
async def suggested_post_service_handler(client, message):
if message.service == enums.MessageServiceType.SUGGESTED_POST_APPROVAL:
print("A suggested post was approved!")
if message.service == enums.MessageServiceType.SUGGESTED_POST_SUCCESS:
print("A suggested post was successfully published!")
if message.service == enums.MessageServiceType.SUGGESTED_POST_REFUND:
print("A suggested post was refunded.")
app.run()