Bot obrolan yang ditulis dalam Clojure, siap melayani Anda.
Anda dapat menganggap Yetibot sebagai baris perintah komunal . Ini unggul dalam:
Fitur-fitur yang membuat Yetibot kuat dan hebat, yaitu menyenangkan :
Lihatlah contoh penggunaan untuk melihat beberapa seru hal-hal berguna yang dapat dilakukannya.
Proyek ini didukung oleh:
Selamat datang kontributor baru!
good first issue
adalah yang bagus untuk kontributor Yetibot yang baru pertama kali@devth
di Slack, GitHub, atau di mana pun Anda dapat menemukannya Dapatkan undangan ke slack resmi Yetibot di slack.yetibot.com. Ada Yetibot yang berjalan pada Droplet yang disediakan oleh DigitalOcean yang dapat Anda mainkan di Slack.
Untuk segera mencoba Yetibot dengan konfigurasi minimal:
Sudah menggunakan Yetibot? Silakan tambahkan diri Anda ke daftar pengguna Yetibot!
Lihat KONTRIBUSI.
Yetibot telah mengalami perbaikan terus-menerus sejak awal. Ini adalah prioritas utama, selain perbaikan bug apa pun. Masukan dan kontribusi sangat kami harapkan!
#yetibot
atau bergabung dengan Yetibot Slack! Ada beberapa cara untuk menjalankan Yetibot:
Ikuti instruksi Docker : cara tercepat jika Anda sudah menggunakan Docker.
yetibot-helm : Bagan Helm resmi untuk menjalankan Yetibot dengan cepat di Kubernetes.
Kloning repo ini : ini memberi Anda instalasi Yetibot standar dan menyediakan tempat yang diabaikan git untuk menyimpan konfigurasi. Jalankan dari direktori root dengan lein run
.
Buat repo Anda sendiri dan bergantung pada Yetibot : ini memberi Anda kemampuan penyesuaian tertinggi, memungkinkan Anda bergantung pada plugin Yetibot khusus atau menentukan perintah Anda sendiri dalam proyek, dan memberi Anda kendali atas tempat Anda menyimpan konfigurasi Anda (manajemen manual, berkomitmen pada git pribadi repo, dll...)
Lihat Dokumen konfigurasi.
Untuk dokumen lebih lanjut, lihat Panduan Pengguna.
Semua perintah diawali dengan !
.
Output dari satu perintah dapat disalurkan ke perintah lainnya, seperti pipa 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.
Backticks menyediakan sintaks ringan untuk sub-ekspresi, namun tidak dapat disarangkan.
!meme grumpy cat: `catfact` / False
Untuk sub-ekspresi yang bersarang secara sewenang-wenang, gunakan sintaksis $(expr)
yang membedakan pembukaan dan penutupan ekspresi.
!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:
Anda dapat membuat alias Anda sendiri saat runtime. Ini disimpan dalam database yang dikonfigurasi, jadi setelah restart, mereka dipulihkan.
!alias nogrid = repeat 3 echo `repeat 3 meme grumpy: no | join`
Pipa dapat digunakan, namun sisi kanannya harus diberi tanda kutip untuk memperlakukannya sebagai literal dan bukannya dievaluasi berdasarkan perilaku pipa normal.
!alias i5 = "random | echo http://icons.wunderground.com/webcamramdisk/w/a/wadot/324/current.jpg?t=%s&.jpg"
Anda dapat menentukan argumen placeholder di sisi kanan menggunakan $s
untuk menunjukkan semua argumen, atau $n
(di mana n adalah indeks berbasis 1 yang argnya).
!alias temp = "weather $s | head 2 | tail"
!temp 98104
=> 33.6 F (0.9 C), Overcast
IRC : Yetibot dapat mendengarkan di sejumlah saluran. Anda mengkonfigurasi saluran di config.edn. Anda juga dapat mengundang Yetibot ke saluran saat runtime menggunakan perintah IRC /invite
:
/invite yetibot #whoa
Saat Anda mengundang Yetibot ke saluran baru, config.edn
akan ditimpa, jadi saat berikutnya Anda memulai ulang Yetibot, ia akan bergabung kembali dengan saluran yang sama.
Anda juga dapat menggunakan perintah !room
untuk memberi tahu yetibot agar bergabung atau keluar dari saluran.
!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 : bot tidak dapat bergabung ke saluran sendiri, mereka harus diundang, jadi konfigurasi ruangan tidak berlaku. Sebagai gantinya, /invite @yetibot
ke saluran mana pun yang Anda ikuti, dan /kick @yetibot
jika Anda ingin saluran tersebut keluar. NB: Anda mungkin memerlukan hak istimewa untuk dapat menendang.
Api unggun tidak lagi didukung. Jika Anda menggunakan Campfire, buka terbitan dan kami dapat menambahkannya kembali!
Platform obrolan lainnya : Jika platform obrolan pilihan Anda tidak didukung, buka masalah. Menambahkan adaptor cukup mudah.
Jika broadcast
suatu ruangan disetel ke true
, Tweet akan diposting ke ruangan itu. Secara default, semua ruangan menyetelnya ke false. Untuk mengaktifkan:
!room set broadcast true
Yetibot mendokumentasikan dirinya sendiri menggunakan dokumen dari berbagai perintahnya. Minta !help
untuk mendapatkan daftar topik bantuan. !help all
menampilkan daftar perintah yang diperluas sepenuhnya untuk setiap topik.
!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 memiliki arsitektur berbasis plugin. Inti yang menjadi sandaran semua plugin adalah yetibot.core.
Yetibot akan memuat semua perintah dan pengamat dengan namespace di classpath yang cocok dengan regex ini.
Ini memungkinkan Anda membangun sejumlah proyek plugin independen dan menggabungkannya melalui dependensi Leiningen standar.
Penasaran bagaimana cara kerja internal Yetibot? Pada tingkat tinggi:
hook
ke fungsi handle-cmd
penerjemah menggunakan makro cmd-hook
dan dipicu melalui pencocokan awalan regex Jika dokumen atau kode implementasi tidak membantu Anda dengan baik, silakan buka permintaan penarikan dan jelaskan alasannya sehingga kami dapat menyempurnakan dokumen tersebut. Juga jangan ragu untuk membuka masalah untuk permintaan fitur!
Hak Cipta © 2012-2019 Trevor Hartman. Didistribusikan di bawah Eclipse Public License 1.0, sama seperti Clojure.
Logo dirancang oleh Freeform Design Co.