استنادًا إلى Kolson25/Webrtc-Multi-Peer-Video-Audio ، يهدف هذا المشروع إلى تجربة Webrtc.
يمكنك تجربته على topaz.h91.co
لتشغيل المشروع ، ما عليك سوى نسخ docker-corm.yml في مجلد وقم بتشغيل الأمر التالي:
docker-compose up -d
لاختبار ذلك ، عليك أن تذهب إلى https: // localhost: 3000.
تأكد من استخدام SSL (عبر الوكيل العكسي على سبيل المثال) أو لن تتمكن من الوصول إلى الكاميرا.
من أجل التطوير ، استخدمت Ngrok الذي يمكن الاعتماد عليه لـ HTTPs وحتى الاختبار مع الأشخاص البعيد :-)
يمكنك نسخ وإعداد config.json.dist. في الوقت الحالي ، يعمل التكوين فقط مع ملحقات الدردشة.
لإنشاء مكون إضافي ، ستحتاج إلى إنشاء ملف JS مع الهيكل التالي:
module . exports = function ( config , formatResponse ) {
return {
supports ( username , avatar , message ) {
// return true if the plugin should be used.
// for example : return message.startsWith("/hello")
return true
} ,
transform ( username , avatar , message ) {
if ( config . some_random_config == "SOME VALUE" ) {
console . log ( "do something" )
}
// should return a formatResponse in order to be processable.
return formatResponse ( message , avatar , message )
} ,
} ;
} ;الدعم هي وظيفة تستخدم للتحقق مما إذا كان المكون الإضافي يجب أن يعالج الرسالة. قد يكون من المفيد اكتشاف أنه تم نقل شخص ما ، أو إذا بدأت السلسلة/تحتوي على شيء ما.
يأخذ التحويل اسم مستخدم ، الصورة الرمزية ، الرسائل وسوف يطبق التحول إذا دعم الإرجاع صحيح. يمكنك استخدام FormatResponse لإرجاع التنسيق الجيد أو يمكنك القيام به يدويًا باستخدام بناء الجملة التالي:
{
"author" : " username " ,
"avatar" : {
"avatar" : " bear " ,
"color" : " red " ,
"image" : " <svg.../> "
},
"message" : " SOME MESSAGE "
}
من أجل تمكين مكون إضافي إضافته إلى ملف _plugins.js: مثال:
module . exports = {
me : "./plugins/me.js" ,
giphy : "./plugins/giphy.js" ,
pluginName : "./path/to/file.js"
}يتم استخدام البرنامج المساعد لاسترداد التكوين الذي يتم تخزينه في config.json.
{
"plugins" : {
"giphy" : {
"api_key" : " GIPHY API KEY "
},
"pluginName" : {
"some_random_config" : " SOME_VALUE "
}
}
} تقاسم الشاشة في التطوير المبكر ، لتجربتها ، وابدأ علامة تبويب جديدة عليك متصفحًا وانتقل إلى /screen.html حاولت دمج كليهما ، لكن يبدو أنها معقدة بعض الشيء بالنسبة لي ، لأنني لا أشعر بالثبات مع JavaScript :).