Antimatter پر تعمیر

یہ رہنما ڈویلپرز کے لیے ہے۔ اس میں API استعمال کرنے والے اسکرپٹس اور بوٹس، ویب ہکس اور سلاش کمانڈز پر مبنی انضمام، ایپس (پلگ انز) جو سرور اور ویب ایپ میں خصوصیات شامل کرتی ہیں، اور Antimatter کو سورس سے بلڈ کر کے اس میں حصہ ڈالنے کے طریقے شامل ہیں۔

Antimatter کو وسیع کرنے کے طریقے

جو کام کرے اس کے لیے سب سے ہلکا ٹول منتخب کریں۔ پہلے چار کے لیے سرور تک رسائی کی ضرورت نہیں؛ ایپس اس کے اندر چلتی ہیں۔

ٹولیہ کیا کرتا ہےکس کے لیے موزوں
REST APIایپس جو کچھ بھی کرتی ہیں: پیغامات، چینلز، لوگ، فائلیں، ترتیبات۔ WebSocket واقعات کے وقت واقعات بھیجتا ہے۔اسکرپٹس، دیگر نظاموں کے ساتھ ہم آہنگی، کسٹم کلائنٹس۔
Incoming webhooksایک خفیہ URL جو کچھ بھی JSON بھیجے تو چینل میں پیغام پوسٹ کرتا ہے۔الارمز، CI نتائج، مانیٹرنگ، دیگر ٹولز سے اطلاعات۔
Outgoing webhooksجب عوامی چینل میں کوئی پیغام ٹریگر ورڈ سے شروع ہو، یا کوئی شخص پیغام کے مینو میں آپ کے ایکشن کو منتخب کرے، تو Antimatter آپ کے URL کو کال کرتا ہے اور آپ کا جواب پوسٹ کرتا ہے۔سادہ چیٹ پر مبنی خودکار عملیات، کسی دوسرے ٹول کو پیغام بھیجنا۔
Slash commandsلوگ /something ٹائپ کرتے ہیں؛ Antimatter آپ کے URL کو کال کرتا ہے اور آپ کا جواب انہیں یا چینل کو دکھاتا ہے۔تلاش، چیٹ سے شروع ہونے والے اقدامات۔
Botsپروگراموں کے لیے بنائے گئے اکاؤنٹس، جن کے اپنے ٹوکنز، بوٹ ٹیگ، اور انٹرایکٹو پیغامات اور ڈائیلاگز ہیں۔اسسٹنٹس، نٹیفائرز، کچھ بھی جو لوگوں سے بات کرتا ہے۔
Apps (plugins)کوڈ جو سرور (Go) اور ویب ایپ (React) کے اندر چلتا ہے: ہر پیغام پر ہکس، نئے مینو، پینلز، پیغام کی اقسام، صفحات۔خصوصیات: پولز، نوٹس، کیلنڈرز، ایسے انضمام جو یوزر انٹرفیس کی ضرورت ہوتی ہے۔

انٹرفیس میں، لوگ پلگ انز کو "ایپس" کہتے ہیں۔ یہ رہنما جہاں دونوں الفاظ مددگار ہوں وہاں "ایپس (پلگ انز)" کہتا ہے، کیونکہ کوڈ، API اور کنفیگریشن ابھی بھی "پلگ ان" کہتی ہیں۔

Mattermost کے ساتھ مطابقت

Antimatter، Mattermost کا فورک ہے۔ Mattermost سرور کے ساتھ جو کچھ کام کرتا ہے، Antimatter کے ساتھ بھی کام کرتا ہے۔

کیا ایک جیسا ہے

  • REST API جو /api/v4 کے تحت دستیاب ہے، اس کی تصدیق (authentication)، اس کا WebSocket اور اس کی غلطیوں کا فارمیٹ۔ سرور ورژن 12.0.0 رپورٹ کرتا ہے، اس لیے کلائنٹس اور ایپس جو سرور کے ورژن کی جانچ کرتی ہیں، انہیں حالیہ Mattermost نظر آتا ہے۔
  • Webhooks اور slash commands، جن میں ان کے Slack-سازگار payloads شامل ہیں۔
  • سرور پلگ ان API اور hooks: Antimatter انہیں بالکل اسی طرح برقرار رکھتا ہے۔ سرور کا کوڈ اسی Go module کے خلاف بنایا جاتا ہے، github.com/mattermost/mattermost/server/public۔ Antimatter صرف اپنے AI سروس کے لیے طریقے (methods) شامل کرتا ہے (دیکھیں AI سروس)۔
  • ویب ایپ پلگ ان رجسٹری: Mattermost کی رجسٹری کا ہر register… طریقہ Antimatter کے دونوں ویب انٹرفیسز میں موجود ہے۔
  • کلائنٹ لائبریریز: Go کلائنٹ model.Client4 اور TypeScript کلائنٹ @mattermost/client (دیکھیں کلائنٹ لائبریریز)۔
  • پلگ ان باندل: .tar.gz فائل جس میں plugin.json manifest شامل ہو۔ Mattermost کے کلید سے سائن شدہ پلگ انسٹال ہوتے ہیں، جیسا کہ Antimatter کے کلید سے سائن شدہ پلگ انسٹال ہوتے ہیں۔

کیا مختلف ہے

  • دو ویب انٹرفیسز۔ نیا انٹرفیس، Fusion، ڈیفالٹ ہے؛ کلاسیکی Mattermost انٹرفیس ابھی بھی دستیاب ہے۔ Fusion زیادہ تر پلگ ان اجزاء (components) کو رینڈر کرتا ہے، لیکن ان میں سے کچھ کو مختلف جگہ رکھتا ہے اور کچھ کو چھوڑ دیتا ہے۔ ایپ یہ بتا سکتی ہے کہ کون سا انٹرفیس چل رہا ہے۔ دیکھیں Fusion انٹرفیس کی سپورٹ۔
  • اضافی API۔ Antimatter اپنے خصوصیات کے لیے endpoints شامل کرتا ہے: کمیونٹی خصوصیات، timeouts، اوپر کے پیغامات، پیغامات کی درخواستیں، چینل اور زمرہ overrides، چینل ایکسپورٹ، سلسلے کو منتقل کرنا، ماڈل کنکشنز، پیغامات کے اقدامات، اور کمیونٹیز پر نئے فیلڈز۔ دیکھیں Antimatter API میں کیا شامل کرتا ہے۔
  • اضافی پیغام خصوصیات۔ پیغامات کے منسلک فائلز (attachments) پائپ لائن کے مراحل اور ایک چھوٹا چارٹ دکھا سکتی ہیں؛ پوسٹس inline replies یا spoilers ہو سکتی ہیں۔
  • ایپس کے لیے اضافی ویب ایپ hooks: composer میں "+" مینیٹم، ایموجی پکر کے ٹیبز، چینل ویو میں پینل، سائیڈ بار چینلز کے نیچے فوٹر، integrations صفحات پر ایک اندراج، ایموجی پکر کے add اور manage ویوز، اور ایک سائیڈ پینل جو نئے ونڈو میں اسی جگہ دوبارہ کھلتا ہے جہاں وہ تھا۔ دیکھیں صرف Antimatter کے پاس موجود hooks۔
  • کوئی لائسنس نہیں۔ لائسنس کی ضرورت کے بغیر ہر فیچر دستیاب ہے۔ لائسنس، ٹرائل اور انٹرپرائز اپ گریڈ کے ایپینڈ پوائنٹس ختم کر دیے گئے ہیں؛ GET /api/v4/license/client ان کلینٹس کے لیے برقرار ہے جو اس کی درخواست کرتے ہیں۔ Mattermost کے پیڈ ایڈیشنز کے لیے بنائے گئے کچھ ایپس خود لائسنس کی جانچ کرتے ہیں اور چلنے سے انکار کر دیتے ہیں۔
  • نام۔ انٹرفیس میں ٹیمز کو کمیونٹیز کہا جاتا ہے، لیکن API اور کوڈ اب بھی team کہتے ہیں۔ انوائرونمنٹ ویری ایبلز AM_ پری فکس استعمال کرتے ہیں، کمانڈ لائن ٹول amctl ہے اور سرور بائنری antimatter ہے۔

کوڈ کہاں موجود ہے

ہر چیز اوپن سورس ہے، GitHub پر AntimatterChat آرگنائزیشن میں۔ ہر ریپوزٹری اپنے main برانچ پر کام کرتی ہے۔

ریپوزٹریاس میں کیا ہے
antimatterسرور (Go، server/ میں)، دونوں ویب انٹرفیس (webapp/fusion اور webapp/channels)، TypeScript کلینٹ اور amctl۔
antimatter-dockerDocker امیجز، جن میں شامل ایپس اور کمپوز فائلز شامل ہیں۔
antimatter-plugin-*ہر شامل ایپ کے لیے ایک ریپوزٹری: polls، todo، notes، whiteboard، calendar، mail، gifs، memes، voice-channels، calls، boards (Kanban)، playbooks، agents اور metrics۔
gifs-serverGIFs ایپ کے استعمال ہونے والا سیلف ہوسٹڈ GIF اور اسٹیکر سروس۔
desktop-app، mobile-app، push-proxyڈیسک ٹاپ اور موبائل ایپس، اور وہ سروس جو فونز کو پش اطلاعات (push notifications) بھیجتی ہے۔
antimatter.chatیہ ویب سائٹ اور اس کی دستاویزات۔
communityAntimatter کے ہر حصے کے لیے مسائل (issues) اور گفتگو۔

شروع کرنے سے پہلے

  • ٹیسٹ سروسر حاصل کریں۔ سب سے تیز طریقہ Docker image ہے: Antimatter کی تنصیب دیکھیں۔ Antimatter پر کام کرنے کے لیے، سورس سے بلڈنگ دیکھیں۔
  • چیک کریں کہ سروسر کون سی چیزیں اجازت دیتا ہے۔ کئی انٹیگریشن خصوصیات پہلے سے بند ہیں اور ان کے لیے سسٹم ایڈمن کی ضرورت ہوتی ہے: ذاتی ایکسس ٹوکنز، بوٹ اکاؤنٹس، یوزر نیم اور آئیکن اوور رائڈز، اور ایپس اپ لوڈ کرنا۔ ہر صفحہ بتاتا ہے کہ اس کے لیے کون سی ترتیب درکار ہے۔
  • اپنی سائٹ کے URL کو جانیں۔ مثالوں میں https://chat.example.com استعمال ہوا ہے۔ اسے اپنے سروسر کے پتے سے تبدیل کریں۔

اس گائیڈ میں

  • REST API: تصدیق (authentication)، بنیادی وسائل، پیجینیشن، غلطیاں، ریٹ لمٹس، WebSocket، کلائنٹ لائبریریز، اور Antimatter کے اضافے۔
  • ویب ہکس: داخلہ اور خارجہ ویب ہکس، پی لوڈز، منسلک فائلیں اور کارڈز۔
  • سلاش کمانڈز: کسٹم کمانڈز، ان کی درخواست اور جواب، اور آٹو کمپلیٹ۔
  • بوٹس اور انٹرایکٹو پیغامات: بوٹ اکاؤنٹس، بٹن، مینو اور ڈائیلاگز۔
  • ایپس لکھنا: پلگ ان کی ترتیب، سروسر ہکس، ویب ایپ رجسٹری، Fusion، ترتیبات، اسٹوریج، ترجمے اور پیکنگ۔
  • سورس سے بلڈنگ: سروسر، ویب انٹرفیسز، Docker image اور ایپس۔
  • معاشرتی تعاون: مسائل، پُل ریکسٹس، اسٹائل، ترجمے، سیکیورٹی اور لائسنسز۔
سوالات کمیونٹی ڈسکشنز میں خوش آمدید ہیں۔ کمیونٹی آئیوز میں بگ رپورٹ کریں۔