در بیلد بتا 13.0.283320 تلگرام برای macOS که در 15 اکتبر منتشر شد، یک صفحه جدید برای کد QR پروفایل اضافه شده است. در کد، این صفحه «استودیوی QR» نامیده می‌شود: پس‌زمینه و الگوی اطراف کد از یک هدیه کلکسیونی، یک ایموجی پریمیوم یا یک رنگ تشکیل شده‌اند. در همین صفحه، یک سوئیچ با عنوان "Remove message fee" وجود دارد: این سوئیچ کد QR و لینک مربوط به آن را به یک مجوز برای دور زدن هزینه پیام تبدیل می‌کند — هر کسی که از طریق این لینک وارد شود، می‌تواند به صورت رایگان به صاحب پروفایل پیام دهد. این قابلیت برای کسانی است که برای پیام‌های ورودی خود تلگرام استارز دریافت می‌کنند و همچنین برای کسانی که به آن‌ها پیام می‌دهند. در حال حاضر، این قابلیت‌ها فقط در نسخه بتا برای مک موجود هستند و در طرح API عمومی (open API scheme) یافت نمی‌شوند.

The post on Telegram — @gramnews
استودیوی QR و لینک پیام‌های رایگان در نسخه بتا تلگرام برای macOS

چه چیزهایی در بیلد 13.0.283320 اضافه شدند

نسخه بتا macOS از طریق فید به‌روزرسانی mac-updates.telegram.org توزیع می‌شود. در 15 اکتبر، سه بیلد متوالی در آن منتشر شد: 283318 صبح، و 283320 و 283321 بعدازظهر. رابط کاربری هر دو قابلیت در بیلد 283320 ظاهر می‌شود — ماژول QrStudioUI و فایل هسته NoPaidMessagesToken. توضیحات انواع API برای لینک رایگان از بیلد صبحگاهی 283318 در کلاینت وجود داشت، اما بدون صفحه‌ای که آن‌ها را فراخوانی کند. بیلد 283321 چهل دقیقه پس از 283320 منتشر شد و هر دو قابلیت را حفظ کرد.

متون صفحات جدید در نسخه بتا مستقیماً در کد به زبان انگلیسی نوشته شده‌اند و هنوز به پلتفرم ترجمه تلگرام راه نیافته‌اند. استثنا، دو پیام خدماتی چت در مورد لینک رایگان هستند: آن‌ها به فایل محلی‌سازی همان بیلد اضافه شده‌اند.

لینک حذف هزینه پیام چگونه کار می‌کند

در تلگرام می‌توانید برای پیام‌های دریافتی از افرادی که در لیست مخاطبین شما نیستند، هزینه‌ای را به صورت تلگرام استارز تعیین کنید. در حال حاضر، برای یک فرد خاص می‌توان این هزینه را به صورت دستی حذف کرد، با افزودن آن شخص به استثناها: در طرح API متد account.toggleNoPaidMessagesException برای این منظور وجود دارد. نسخه بتا راه دوم را اضافه می‌کند: استثنا از طریق یک لینک صادر می‌شود و نیازی به وارد کردن دستی مخاطب نیست.

این قابلیت با سوئیچ "Remove message fee" در صفحه کد QR فعال می‌شود. پس از آن، یک توکن در کد و لینک مربوط به آن قرار می‌گیرد — در کلاینت به آن noPaidMessagesToken گفته می‌شود. کسی که چنین لینکی را باز کند، پیام "You can now message …" را به همراه نام صاحب پروفایل می‌بیند و پیام‌های او پس از آن رایگان خواهد بود. در چت هر دو طرف یک پیام خدماتی دریافت می‌کنند: صاحب پروفایل — "… used your link to message you for free"، و دریافت‌کننده — "You used …’s link to message for free".

مدت زمان اعتبار توکن توسط همان صفحه تنظیم می‌شود:

رشته در بتاچه اتفاقی می‌افتد
"Expire after 1 minute"کد به مدت یک دقیقه معتبر است — "This code will expire in 1 minute"
"This code no longer expires"کد نامحدود است
"New code created. The old one no longer works."کد جدید صادر شده است، لینک قدیمی دیگر کار نمی‌کند
"Restore message fee"هزینه بازگشته است — "Your message fee applies again"

کد یک دقیقه‌ای، به نظر می‌رسد برای ملاقات حضوری طراحی شده است: نمایش QR از صفحه، اجازه اسکن کردن — و پس از یک دقیقه، تصویری که به جای دیگری ارسال شده، دیگر چیزی را باز نمی‌کند. کلاینت برای لینک منقضی شده یا باطل شده، پیام "This free message link is invalid or has expired" را نمایش می‌دهد و سرور در این حالت با خطای NO_PAID_MESSAGES_TOKEN_INVALID پاسخ می‌دهد.

این چه تفاوتی با لینک «افزودن به مخاطبین» دارد

تلگرام مدت‌هاست که یک لینک دعوت موقت برای افزودن به مخاطبین دارد: در طرح عمومی، این contacts.exportContactToken است و پاسخ exportedContactToken شامل آدرس و مدت اعتبار است. در نسخه بتا، یک نوع جفت به نام exportedNoPaidMessagesToken و یک پیام خدماتی messageActionNoPaidMessagesTokenUsed در کنار آن ظاهر شده است. هر دوی این‌ها در طرح عمومی لایه 230 وجود ندارند. ساختار آن‌ها مشابه است — سرور یک توکن با مدت اعتبار صادر می‌کند، کلاینت آن را در لینک قرار می‌دهد — اما این توکن به مخاطبین اضافه نمی‌کند، بلکه فقط هزینه پیام را حذف می‌کند.

استودیوی QR چگونه طراحی شده است

صفحه کد QR پروفایل در تلگرام مدت‌هاست که وجود دارد و در کلاینت‌های موبایل با تم‌های چت رنگ‌آمیزی می‌شود. استودیوی QR آن‌ها را با سه تب جایگزین می‌کند — در کد qr_studio_tab_gift، qr_studio_tab_emoji و qr_studio_tab_color:

  • هدیه. پس‌زمینه یک هدیه کلکسیونی در زیر کد قرار می‌گیرد و نماد آن به صورت یک الگو در اطراف تکرار می‌شود — با همان الگویی که خود هدیه طراحی شده است.
  • ایموجی. الگو از ایموجی پریمیوم تشکیل شده است — ایموجی‌های سفارشی از بسته‌هایی که با Telegram Premium در دسترس هستند.
  • رنگ. پس‌زمینه از پالت رنگ‌ها.

در کنار آن یک دکمه روز و شب وجود دارد: هر گزینه در نسخه روشن و تاریک نمایش داده می‌شود. کلاینت مجموعه پس‌زمینه‌ها را ذخیره نمی‌کند، بلکه آن‌ها را به صورت لیستی با shareThemeBackdrops از سرور درخواست کرده و کش می‌کند — این نوع دارای گزینه‌ای به نام shareThemeBackdropsNotModified است که سرور با آن پاسخ می‌دهد «لیست تغییر نکرده است».

طرح انتخابی نه روی دستگاه، بلکه روی سرور به عنوان تنظیمات حساب ذخیره می‌شود: در هسته، این ShareTheme با گزینه‌های shareThemeGift، shareThemeEmoji، shareThemeColor و shareThemeDefault است، و هدیه برای پس‌زمینه با نوع inputShareThemeGift منتقل می‌شود. این بدان معناست که یک کد QR یکسان در تمام دستگاه‌های صاحب آن به یک شکل ظاهر خواهد شد. کارت آماده را می‌توان به صورت یک تصویر خروجی گرفت — در ماژول یک صحنه صادرات جداگانه با کد، الگو و استیکر وجود دارد.

صدور کد جدید انیمیشن خاص خود را دارد: لایه‌های صفحه QrStudioShatter، QrStudioAshLayer و QrStudioParticle نامیده می‌شوند. با توجه به نام‌ها، کد قدیمی هنگام جایگزینی به خاکستر تبدیل می‌شود و کد جدید در جای آن شکل می‌گیرد — برای کدی که تازه از کار افتاده است، این یک بدرقه صادقانه است.