الخصوصية في روبوتات التيلجرام:
يتم إضافة الروبوتات بشكل متكرر إلى مجموعات التيلجرام من أجل زيادة التواصل بين المستخدمين البشريين، على سبيل المثال من خلال توفير الأخبار أو الإخطارات من الخدمات الخارجية أو وظائف البحث الإضافية. وهذا ينطبق بشكل خاص على المجموعات ذات الصلة بالعمل. الآن، عندما تشارك مجموعة مع روبوت، فإنك تميل إلى أن تسأل نفسك “كيف يمكنني التأكد من أن المنافس لا يبيع محفوظات الدردشة الخاصة بي للمنافسين؟”
كيف يمكنني التأكد من أن تليجرام لا يبيع محفوظات الدردشة الخاصة بي للمنافسين؟
في الواقع يتم ذلك من خلال وضع الخصوصية. حيث لن يتلقى الروبوت الذي يعمل في وضع الخصوصية جميع الرسائل التي يرسلها الأشخاص إلى المجموعة. بدلاً من ذلك، سيتلقى فقط:
- الرسائل التي تبدأ بشرطة مائلة “/”؛ أي الأوامر.للرد على رسائل الروبوت الخاصة
- رسائل الخدمة (الأشخاص الذين تمت إضافتهم أو إزالتهم من المجموعة، وما إلى ذلك)
- رسائل من القنوات التي يكون عضوًا فيها. من ناحية، يسمح لمطور الروبوت بتوفير الكثير من الموارد، حيث لن يحتاجوا إلى معالجة عشرات الآلاف من الرسائل غير ذات الصلة.
يتم تمكين وضع الخصوصية افتراضيًا لجميع برامج الروبوت، باستثناء الروبوتات التي تمت إضافتها إلى المجموعة كمسؤولين (يتلقى مسؤولو الروبوت دائمًا جميع الرسائل). ويمكن تعطيله، بحيث يتلقى الروبوت جميع الرسائل مثل المستخدم العادي (سيحتاج الروبوت إلى إعادة إضافته إلى المجموعة حتى يسري هذا التغيير).
حيث أننا نوصي بالقيام بذلك فقط في الحالات التي يكون فيها من الضروري للغاية أن يعمل الروبوت الخاص بك، ويمكن للمستخدمين دائمًا رؤية إعداد الخصوصية الحالي للروبوت في قائمة أعضاء المجموعة. في معظم الحالات، يجب أن يكون استخدام خيار فرض الرد لرسائل الروبوت أكثر من كافٍ.
ما هي الرسائل التي سيحصل عليها الروبوت بالضبط؟
آلية الربط العميق:
تحتوي روبوتات التيلجرام (Telegram) على آلية ربط عميق، تسمح بتمرير معلمات إضافية إلى الروبوت عند بدء التشغيل. وقد يكون الأمر الذي يطلق الروبوت، أو رمز المصادقة لتوصيل حساب تيلجرام (Telegram) الخاص بالمستخدم بحسابه في بعض الخدمات الخارجية.
كل روبوت لديه رابط يفتح محادثة معه في (Telegram – https://t.me/<bot username>). يمكنك إضافة معلمات (start أو startgroup) إلى هذا الارتباط، بقيم تصل إلى 64 حرفًا. على سبيل المثال:
- https://t.me/triviabot؟startgroup=test
يُسمح بـ A-Z و a-z و0-9 و _ و -.
- نوصي باستخدام (base64url) لتشفير المعلمات باستخدام أنواع ثنائية وأنواع أخرى من المحتوى.
سيؤدي اتباع ارتباط مع معلمة البدء إلى فتح محادثة فردية مع الروبوت، مع إظهار زر (START) في مكان حقل الإدخال. وإذا تم استخدام معلمة (startgroup)، فسيُطلب من المستخدم تحديد مجموعة لإضافة الروبوت إليها.
بمجرد أن يؤكد المستخدم الإجراء (يضغط على زر START في تطبيقه أو يختار مجموعة لإضافة الروبوت إليها)، سيتلقى الروبوت الخاص بك رسالة من هذا المستخدم بهذا التنسيق:
/start PAYLOAD
يرمز (PAYLOAD) إلى قيمة معلمة (start أو startgroup) التي تم تمريرها في الارتباط.
مثال على آلية الارتباط العميق:
لنفترض أن موقع الويب (example.com) يرغب في إرسال إشعارات إلى مستخدميه عبر روبوت (Telegram). إليك ما يمكنهم فعله لتمكين الإشعارات لمستخدم برقم التعريف 123.
- نقم بإنشاء روبوت باسم مستخدم مناسب، على سبيل المثال تضمين التغريدة
- نقم بإعداد خطاف ويب للرسائل الواردة.
- إنشاء سلسلة عشوائية بطول كافٍ ، على سبيل المثال memcache_key = “vCH1vGWJxfSeofSAs0K5PA”
- نضع القيمة (123) بالمفتاح $ memcache_key في Memcache لمدة 3600 ثانية (ساعة واحدة)
سيظهر للمستخدم الزر https://t.me/ExampleComBot؟start=vCH1vGWJxfSeofSAs0K5PA
- نقم بتكوين معالج webhook للاستعلام عن Memcached باستخدام المعلمة التي يتم تمريرها في الرسائل الواردة بدءًا من / start. إذا كان المفتاح موجودًا ، فقم بتسجيل chat_id الذي تم تمريره إلى webhook على أنه telegram_chat_id للمستخدم 123.
- نقم بإزالة المفتاح من (Memcache).
الآن عندما نريد إرسال إشعار إلى المستخدم 123، تحقق مما إذا كان لديهم الحقل (telegram_chat_id). وإذا كانت الإجابة بنعم، فاستخدم طريقة (sendMessage) في (Bot API) لإرسال رسالة إليهم في تيلجرام (Telegram).
استخدام الموقع والرقم:
تحتاج بعض برامج الروبوت إلى بيانات إضافية من المستخدم لتعمل بشكل صحيح. على سبيل المثال، تساعد معرفة موقع المستخدم في توفير نتائج أكثر صلة بجغرافيا محددة. حيث أنه يمكن أن يكون رقم هاتف المستخدم مفيدًا جدًا للتكامل مع الخدمات الأخرى، مثل البنوك، وما إلى ذلك.
يمكن أن تطلب الروبوتات من المستخدم موقعه ورقم هاتفه باستخدام أزرار خاصة. لاحظ أن أزرار رقم الهاتف وطلب الموقع ستعمل فقط في الدردشات الخاصة. وعند الضغط على هذه الأزرار، سيعرض عملاء تيلجرام (Telegram) تنبيه تأكيد يخبر المستخدم بما سيحدث.