روبوت دردشة مكتوب بلغة Clojure، في خدمتك.
يمكنك التفكير في Yetibot باعتباره سطر أوامر جماعيًا . يتفوق في:
الميزات التي تجعل Yetibot قويًا ورائعًا، وهذا يعني أنه ممتع :
ألق نظرة على أمثلة الاستخدام لرؤية بعضها هزار أشياء مفيدة يمكن القيام بها.
هذا المشروع مدعوم من:
نرحب بالمساهمين الجدد!
good first issue
جيدة للمساهمين في برنامج Yetibot لأول مرة@devth
المساعدة في Slack أو GitHub أو في أي مكان آخر يمكنك العثور عليه فيه احصل على دعوة لحضور برنامج Yetibot Slack الرسمي على موقع slack.yetibot.com. هناك Yetibot يعمل على Droplet الذي توفره شركة DigitalOcean بسخاء والذي يمكنك اللعب به في Slack.
لتجربة Yetibot سريعًا بأقل قدر من التكوين:
هل تستخدم بالفعل اليتيبوت؟ من فضلك قم بإضافة نفسك إلى قائمة مستخدمي Yetibot!
انظر المساهمة.
يخضع موقع Yetibot للتحسين المستمر منذ بدايته. هذه هي الأولويات العاجلة، بالإضافة إلى أي إصلاحات للأخطاء. ردود الفعل والمساهمات هي موضع ترحيب كبير!
#yetibot
أو الانضمام إلى Yetibot Slack! هناك عدة طرق لتشغيل Yetibot:
اتبع تعليمات Docker : الطريقة الأسرع إذا كنت تستخدم Docker بالفعل.
Yetibot-helm : مخطط Helm الرسمي لتشغيل Yetibot بسرعة على Kubernetes.
استنساخ هذا الريبو : يمنحك هذا تثبيتًا قياسيًا لـ Yetibot ويوفر مكانًا تم تجاهله بواسطة git لتخزين التكوين. قم بالتشغيل من الجذر dir باستخدام lein run
.
أنشئ الريبو الخاص بك واعتمد على Yetibot : يمنحك هذا إمكانية التخصيص المطلقة، مما يسمح لك بالاعتماد على مكونات Yetibot الإضافية المخصصة أو تحديد أوامرك الخاصة في المشروع، ويمنحك التحكم في المكان الذي تخزن فيه التكوين الخاص بك (الإدارة اليدوية، الالتزام بـ git الخاص الريبو، الخ...)
راجع مستندات التكوين.
لمزيد من المستندات، راجع دليل المستخدم.
جميع الأوامر مسبوقة بـ !
.
يمكن توصيل مخرجات أحد الأوامر إلى أمر آخر، مثل أنابيب Unix.
!complete does IE support | xargs echo %s? No, it is sucky.
does ie support html5? No, it is sucky.
does ie support css3? No, it is sucky.
does ie support svg? No, it is sucky.
does ie support media queries? No, it is sucky.
does ie support ftps? No, it is sucky.
does ie support png? No, it is sucky.
does ie support canvas? No, it is sucky.
does ie support @font-face? No, it is sucky.
does ie support webgl? No, it is sucky.
does ie support ttf? No, it is sucky.
توفر العلامات الخلفية بنية خفيفة للتعبيرات الفرعية، لكن لا يمكن تداخلها.
!meme grumpy cat: `catfact` / False
بالنسبة للتعبيرات الفرعية المتداخلة بشكل عشوائي، استخدم بناء الجملة $(expr)
، الذي يزيل الغموض عن فتح وإغلاق التعبيرات.
!meme philos: $(complete how does one $(users | random | letters | random) | random)
!echo `repeat 4 echo i don't always repeat myself but | unwords`…StackOverflowError | meme interesting:
يمكنك بناء الأسماء المستعارة الخاصة بك في وقت التشغيل. ويتم تخزينها في قاعدة البيانات التي تم تكوينها، لذا يتم استعادتها عند إعادة التشغيل.
!alias nogrid = repeat 3 echo `repeat 3 meme grumpy: no | join`
يمكن استخدام الأنابيب، ولكن يجب الإشارة إلى الجانب الأيمن من أجل التعامل معها على أنها حرفية بدلاً من تقييمها وفقًا لسلوك الأنابيب العادي.
!alias i5 = "random | echo http://icons.wunderground.com/webcamramdisk/w/a/wadot/324/current.jpg?t=%s&.jpg"
يمكنك تحديد وسيطات العناصر النائبة على الجانب الأيمن باستخدام $s
للإشارة إلى جميع الوسائط، أو $n
(حيث n هو فهرس يستند إلى 1 للوسيطة).
!alias temp = "weather $s | head 2 | tail"
!temp 98104
=> 33.6 F (0.9 C), Overcast
IRC : يمكن لـ Yetibot الاستماع إلى أي عدد من القنوات. يمكنك تكوين القنوات في config.edn. يمكنك أيضًا دعوة Yetibot إلى قناة في وقت التشغيل باستخدام أمر IRC /invite
:
/invite yetibot #whoa
عندما تقوم بدعوة Yetibot إلى قناة جديدة، تتم الكتابة فوق config.edn
، لذلك في المرة القادمة التي تقوم فيها بإعادة تشغيل Yetibot، فإنه سينضم مرة أخرى إلى نفس القنوات.
يمكنك أيضًا استخدام الأمر !room
لإخبار Yetibot بالانضمام إلى القناة أو مغادرتها.
!help room
room join # join
room leave # leave
room list # list rooms that yetibot is in
room set # configure a setting for the current room
room settings # show all chat settings for this room
room settings # show the value for a single setting
Slack : لا يمكن للروبوتات الانضمام إلى قناة بمفردها، ويجب دعوتها، لذلك لا ينطبق تكوين الغرفة. بدلاً من ذلك، /invite @yetibot
إلى أي قناة تتواجد فيها، و /kick @yetibot
إذا كنت تريد مغادرتها. ملحوظة: قد تحتاج إلى امتيازات خاصة لتتمكن من الركلة.
لم يعد Campfire مدعومًا. إذا كنت تستخدم Campfire، فافتح مشكلة ويمكننا إضافتها مرة أخرى!
منصات الدردشة الأخرى : إذا كانت منصة الدردشة التي تختارها غير مدعومة، فافتح مشكلة. إضافة المحولات أمر سهل للغاية.
إذا تم ضبط broadcast
على true
في الغرفة، فسيتم نشر التغريدات في تلك الغرفة. افتراضيًا، تم ضبط جميع الغرف على "خطأ". للتمكين:
!room set broadcast true
يقوم Yetibot بتوثيق نفسه ذاتيًا باستخدام مستندات أوامره المختلفة. اطلب !help
للحصول على قائمة بموضوعات المساعدة. !help all
يعرض قائمة أوامر موسعة بالكامل لكل موضوع.
!help | join ,
Use help for more details, !, that, alias, ascii, asciichart,
attack, buffer, catfact, chat, chuck, classnamer, clj, cls, complete, config,
count, curl, ebay, echo, eval, features, gh, giftv, grep, haiku, head, help,
history, horse, hs, http, image, info, jargon, jen, join, js, keys, list, log,
mail, meme, memethat, mustachefact, number, order, poke, poms, random, raw,
react, reload, repeat, rest, reverse, rhyme, scala, scalex, sed, set, sort, source,
split, ssh, status, tail, take, tee, twitter, update, uptime, urban, users,
vals, weather, wiki, wolfram, wordnik, words, xargs, xkcd, zen
لدى Yetibot بنية قائمة على البرنامج المساعد. جوهرها الذي تعتمد عليه جميع المكونات الإضافية هو Yetibot.core.
سيقوم Yetibot بتحميل جميع الأوامر والمراقبين بمساحات الأسماء على مسار الفصل المطابق لهذه التعابير المنطقية.
يتيح لك هذا إنشاء أي عدد من مشاريع المكونات الإضافية المستقلة ودمجها عبر تبعيات Leiningen القياسية.
هل لديك فضول حول كيفية عمل الأجزاء الداخلية لـ Yetibot؟ على مستوى عال:
hook
مساحات أسماء الأوامر في وظيفة handle-cmd
الخاصة بالمترجم باستخدام ماكرو cmd-hook
ويتم تشغيلها عبر مطابقة بادئة regex إذا كانت المستندات أو رمز التنفيذ لا يخدمك بشكل جيد، فيرجى فتح طلب سحب وشرح السبب حتى نتمكن من تحسين المستندات. لا تتردد أيضًا في فتح مشكلة لطلبات الميزات!
حقوق الطبع والنشر © 2012-2019 تريفور هارتمان. يتم توزيعه بموجب ترخيص Eclipse Public License 1.0، وهو نفس ترخيص Clojure.
الشعار من تصميم شركة Freeform Design Co.