hadley31 / gnomebot

Gnomes! A lovely addition to any discord server!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gnomebot

Gnomebot started as a silly discord bot I created to prank my friends and slowly snowballed into a feature-rich discord bot.

Commands

/ascii - Replies with a random ascii gnome.
/bill - Gnomebot will join your voice channel and play a bill wurtz song.
/chess - Play Gnomebot in chess using chess.js.
/power - Gnomebot joins your voice channel and plays 'GNOME POWER'.
/source - Replies with a link to source repository.
/gnome - Gnomebot joins your voice channel and says "OOH".

Triggers

Text Channels

  • For each message that matches /.*g.*n.*o.*m.*e.*/, gnomebot will repond with:
⣿⠿⠋⠉⠄⠄⠄⠄⠄⠉⠙⢻⣿
⣿⣿⣿⣿⣿⣿⢋⠄⠐⠄⠐⠄⠠⠈⠄⠂⠠⠄⠈⣿
⣿⣿⣿⣿⣿⡟⠄⠄⠄⠁⢀⠈⠄⠐⠈⠄⠠⠄⠁⠈⠹
⣿⣿⣿⣿⣿⣀⡀⡖⣖⢯⢮⢯⡫⡯⢯⡫⡧⣳⡣⣗⣼
⣿⣿⣿⣿⣷⣕⢱⢻⢮⢯⢯⡣⣃⣉⢪⡪⣊⣀⢯⣺⣺
⣿⣿⣿⣿⣿⣷⡝⣜⣗⢽⢜⢎⢧⡳⡕⡵⡱⣕⡕⡮⣾
⣿⣿⣿⣿⣿⡿⠓⣕⢯⢮⡳⣝⣕⢗⡭⣎⢭⠮⣞⣽⡺
⣿⣿⣿⡿⠋⠄⠄⠸⣝⣗⢯⣳⢕⣗⡲⣰⡢⡯⣳⣳⣫
⣿⣿⠋⠄⠄⠄⠄⠄⠘⢮⣻⣺⢽⣺⣺⣳⡽⣽⣳⣳⠏⠛⠛⠛⢿
⣿⠇⠄⢁⠄⠄⠄⠁⠄⠈⠳⢽⢽⣺⢞⡾⣽⣺⣞⠞⠄⠄⠈⢄⢎⡟⣏⢯⢝⢛⠿
⡇⠄⡧⣣⢢⢔⢤⢢⢄⠂⠄⠄⠁⠉⠙⠙⠓⠉⠈⢀⠄⠄⠄⠑⢃⣗⢕⣕⢥⡣⣫⢽
⣯⠄⢽⢸⡪⡪⡣⠲⢤⠄⠄⠂⠄⠄⠄⡀⠄⠠⠐⠄⣶⣤⣬⣴⣿⣿⣷⡹⣿⣿⣾⣿
⣿⣶⣾⣵⢱⠕⡕⡱⠔⠄⠁⢀⠠⠄⠄⢀⠄⠄⢀⣾
⣿⣿⣿⣿⡷⡗⠬⡘⠂⠄⠈⠄⠄⠄⠈⠄⠄⠄⢸
⣿⣿⣿⣿⣿⣿⣇⠄⢀⠄⡀⢁⠄⠐⠈⢀⠠⠐⡀⣶
⣿⣿⣿⣿⣿⣿⣇⠄⢀⠄⡀⢁⠄⠐⠈⢀⠠⠐⡀⣶
⣿⣿⣿⣿⣿⣿⣧⢁⠂⠔⠠⠈⣾⠄⠂⠄⡁⢲
⣿⣿⣿⣿⣿⣿⠿⠠⠈⠌⠨⢐⡉⠄⠁⡂⠔⠼
⣿⣿⣿⣿⣿⣿⡆⠈⠈⠈⠄⠂⣆⠄⠄⠄⠄⣼
⣿⣿⣿⣿⣿⣿⣿⠄⠁⠈⠄⣾⡿⠄⠄⠂⢸
⣿⣿⣿⣿⣿⣿⡟⠄⠄⠁⠄⠻⠇⠄⠐⠄⠄⠈⠙⢻
⣿⣿⣿⣿⣿⣿⡇⡀⠄⠂⠁⢀⠐⠄⣥⡀⠁⢀⠄⣿
  • If there is an active chess match in the current channel, gnomebot will detect a valid chess move instead of having to use the /chess move <move> command.

Voice Channels

  • Upon entering a voice channel, there is a 4% chance gnomebot will join and deliver a delightful gnome noise to those in the voice channel, leaving shortly after.
  • If you become impatient, you can type /gnome and gnomebot will perform the same action on demand. You must be in a voice channel for this feature to work.
  • Users with the Administrator permission can type /gnome #channel or /gnome @member to prank their friends without the need to be in a voice channel.

Development

Prereqresites

Environment

Create a .env file using .env-example as a template.

Run Application Locally (With Docker)

yarn dev:docker

Run Application Locally (Without Docker)

yarn
yarn dev

Deploying Commands to a Guild

First, set the following variables in your .env file:

DISCORD_AUTH_TOKEN=<your-bots-auth-token>
CLIENT_ID=<your-bots-client-id>
GUILD_ID=<your-guild-id>

References

About

Gnomes! A lovely addition to any discord server!


Languages

Language:JavaScript 98.2%Language:Shell 1.0%Language:Dockerfile 0.7%Language:Makefile 0.2%