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.jsonmanifest شامل ہو۔ 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-docker | Docker امیجز، جن میں شامل ایپس اور کمپوز فائلز شامل ہیں۔ |
antimatter-plugin-* | ہر شامل ایپ کے لیے ایک ریپوزٹری: polls، todo، notes، whiteboard، calendar، mail، gifs، memes، voice-channels، calls، boards (Kanban)، playbooks، agents اور metrics۔ |
| gifs-server | GIFs ایپ کے استعمال ہونے والا سیلف ہوسٹڈ GIF اور اسٹیکر سروس۔ |
| desktop-app، mobile-app، push-proxy | ڈیسک ٹاپ اور موبائل ایپس، اور وہ سروس جو فونز کو پش اطلاعات (push notifications) بھیجتی ہے۔ |
| antimatter.chat | یہ ویب سائٹ اور اس کی دستاویزات۔ |
| community | Antimatter کے ہر حصے کے لیے مسائل (issues) اور گفتگو۔ |
شروع کرنے سے پہلے
- ٹیسٹ سروسر حاصل کریں۔ سب سے تیز طریقہ Docker image ہے: Antimatter کی تنصیب دیکھیں۔ Antimatter پر کام کرنے کے لیے، سورس سے بلڈنگ دیکھیں۔
- چیک کریں کہ سروسر کون سی چیزیں اجازت دیتا ہے۔ کئی انٹیگریشن خصوصیات پہلے سے بند ہیں اور ان کے لیے سسٹم ایڈمن کی ضرورت ہوتی ہے: ذاتی ایکسس ٹوکنز، بوٹ اکاؤنٹس، یوزر نیم اور آئیکن اوور رائڈز، اور ایپس اپ لوڈ کرنا۔ ہر صفحہ بتاتا ہے کہ اس کے لیے کون سی ترتیب درکار ہے۔
- اپنی سائٹ کے URL کو جانیں۔ مثالوں میں
https://chat.example.comاستعمال ہوا ہے۔ اسے اپنے سروسر کے پتے سے تبدیل کریں۔
اس گائیڈ میں
- REST API: تصدیق (authentication)، بنیادی وسائل، پیجینیشن، غلطیاں، ریٹ لمٹس، WebSocket، کلائنٹ لائبریریز، اور Antimatter کے اضافے۔
- ویب ہکس: داخلہ اور خارجہ ویب ہکس، پی لوڈز، منسلک فائلیں اور کارڈز۔
- سلاش کمانڈز: کسٹم کمانڈز، ان کی درخواست اور جواب، اور آٹو کمپلیٹ۔
- بوٹس اور انٹرایکٹو پیغامات: بوٹ اکاؤنٹس، بٹن، مینو اور ڈائیلاگز۔
- ایپس لکھنا: پلگ ان کی ترتیب، سروسر ہکس، ویب ایپ رجسٹری، Fusion، ترتیبات، اسٹوریج، ترجمے اور پیکنگ۔
- سورس سے بلڈنگ: سروسر، ویب انٹرفیسز، Docker image اور ایپس۔
- معاشرتی تعاون: مسائل، پُل ریکسٹس، اسٹائل، ترجمے، سیکیورٹی اور لائسنسز۔