원문 캡처 · github.com
원문 캡처 · github.com

botsay는 cowsay처럼 메시지를 말풍선에 담아 보여주고, 아래에 작은 로봇 그림을 출력하는 명령줄 도구다. 같은 시드를 사용하면 같은 모양과 색상의 로봇이 나온다.

macOS나 Linux에서는 Homebrew로 설치할 수 있다. 소스에서 설치하려면 Rust 1.85 이상이 필요하다.

sh
brew install maebert/tap/botsay
sh
cargo install --git https://github.com/maebert/botsay

기본 실행은 무작위 로봇을 고른다. -s로 시드를 지정하거나 BOTSAY_SEED 환경 변수에 값을 설정하면 같은 로봇을 계속 사용할 수 있다. -c로 색을 바꾸고 -o로 말풍선 없이 로봇만 출력할 수 있다. Homebrew 설치에는 생각 말풍선을 그리는 botthink도 포함된다.

sh
botsay hello # a random robot says hello
botsay -s manu hello # the robot for seed "manu" says hello
fortune | botsay # read the message from stdin
botthink "hmm..." # a thought balloon instead
botsay -o -s manu # just the robot
botsay -c blue hello # a blue robot
botsay --gallery 27 # browse the robots for seeds 0 to 26

색상은 로봇에만 적용되며 말풍선은 색칠하지 않는다. 기본 색은 시드에서 정해지고, -c에는 색상환의 각도, 색 이름 또는 16진수 색상을 지정할 수 있다. 밝은 배경에서는 일부 로봇 색이 잘 보이지 않을 수 있어 -c나 -n으로 조정할 수 있다. 색상 출력은 터미널에서만 이뤄지며, NO_COLOR와 CLICOLOR_FORCE=1 환경 변수도 따른다.

메시지 너비는 문자 수로 계산하므로 한자나 이모지처럼 폭이 넓은 문자가 있으면 말풍선 오른쪽 가장자리가 고르지 않을 수 있다. 로봇 그림을 제대로 표시하려면 유니코드 사분면 블록 문자를 지원하는 글꼴이 필요하다. 라이선스는 Apache 2.0 또는 MIT 중 선택할 수 있다.