귀하의 서비스에 Clojure로 작성된 채팅 봇이 제공됩니다.
Yetibot을 공동 명령줄 로 생각할 수 있습니다. 다음과 같은 장점이 있습니다.
Yetibot을 강력하고 훌륭하게 만드는 기능은 다음과 같습니다.
몇 가지를 보려면 사용 예를 살펴보세요. 재미있는 유용한 일을 할 수 있습니다.
이 프로젝트는 다음에서 지원됩니다:
새로운 기여자를 환영합니다!
good first issue
라고 표시된 이슈는 처음 Yetibot 기여자에게 좋습니다.@devth
도움을 요청하세요. slack.yetibot.com에서 공식 Yetibot Slack에 대한 초대를 받으세요. Slack에서 사용할 수 있는 DigitalOcean에서 제공하는 Droplet에서 Yetibot이 실행됩니다.
최소한의 구성으로 Yetibot을 빠르게 사용해 보려면:
이미 Yetibot을 사용하고 계신가요? Yetibot 사용자 목록에 자신을 추가하세요!
기여를 참조하세요.
Yetibot은 출시 이후 지속적인 개선을 거듭해 왔습니다. 이는 버그 수정과 더불어 즉각적인 우선순위입니다. 피드백과 기여는 매우 환영합니다!
#yetibot
채널에서 Freenode의 Yetibot과 대화하거나 Yetibot Slack에 가입할 수 있습니다! Yetibot을 실행하는 방법에는 몇 가지가 있습니다.
Docker 지침을 따르십시오 . 이미 Docker를 사용하고 있는 경우 가장 빠른 방법입니다.
Yetibot-helm : Kubernetes에서 Yetibot을 빠르게 실행하기 위한 공식 Helm 차트입니다.
Clone this repo : 이것은 표준 Yetibot 설치를 제공하고 구성을 저장할 git 무시 위치를 제공합니다. 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에서 채널을 구성합니다. IRC /invite
명령을 사용하여 런타임에 Yetibot을 채널에 초대할 수도 있습니다.
/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를 사용하는 경우 문제를 열면 다시 추가할 수 있습니다!
기타 채팅 플랫폼 : 선택한 채팅 플랫폼이 지원되지 않는 경우 문제를 엽니다. 어댑터를 추가하는 것은 매우 쉽습니다.
방의 broadcast
true
로 설정된 경우 해당 방에 트윗이 게시됩니다. 기본적으로 모든 객실은 false로 설정되어 있습니다. 활성화하려면:
!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의 내부가 어떻게 작동하는지 궁금하십니까? 높은 수준에서:
cmd-hook
매크로를 사용하여 인터프리터의 handle-cmd
함수에 hook
되고 정규식 접두사 일치를 통해 트리거됩니다. 문서나 구현 코드가 제대로 작동하지 않는 경우 끌어오기 요청을 열고 이유를 설명하여 문서를 개선할 수 있도록 하세요. 또한 기능 요청에 대한 문제를 자유롭게 열어주세요!
저작권 © 2012-2019 Trevor Hartman. Clojure와 동일한 Eclipse Public License 1.0에 따라 배포됩니다.
Freeform Design Co.에서 디자인한 로고입니다.