Skip to content

circa10a/ava

Repository files navigation

ava

alt text Build Status

A discord and slack implementation of the famous ava bot

Deploy

Deploy to DO

Usage

Ava starts whichever platforms have tokens configured. Set Discord tokens, Slack tokens, or both to run them simultaneously.

# Discord only
export AVA_DISCORD_TOKEN=<token>

# Slack only
export AVA_SLACK_BOT_TOKEN=<bot-token>
export AVA_SLACK_APP_TOKEN=<app-level-token>

# Both platforms simultaneously
export AVA_DISCORD_TOKEN=<token>
export AVA_SLACK_BOT_TOKEN=<bot-token>
export AVA_SLACK_APP_TOKEN=<app-level-token>

npm i
npm start

Config

Environment Variable Required Default
AVA_DISCORD_TOKEN Yes (Discord) ""
AVA_SLACK_BOT_TOKEN Yes (Slack) ""
AVA_SLACK_APP_TOKEN Yes (Slack) ""
AVA_SLACK_SIGNING_SECRET No ""
AVA_DB_DIR No ./
AVA_ENABLE_REMINDERS No false

Commands

  • 8ball - ava 8ball should I order chinese food? answers questions for you.
  • bored - ava bored gives you a random activity to do.
  • brewery - ava brewery new_york gives you a random brewery from a city of your choosing.
  • catfact - ava catfact gives random fact about cats.
  • coffee - ava coffee gives you a random brand of coffee from wikipedia to try.
  • compliment - ava compliment @user1234 will tag the receiving users and deliver a random kind compliment.
  • contribute - ava contribute will reply with the project source URL for contributions.
  • emoji - ava emoji something something gives back the first small image result from a google search.
  • floridaman - ava floridaman gives you back a random reddit post title from /r/FloridaMan.
  • fuck - ava fuck <person/thing> gives back a personalized "Fuck You" from https://foaas.com.
  • gcp - ava gcp tells the truth.
  • help - ava help provides a link for these docs and available commands in the commands directory.
  • hp - ava hp gives you back a random harry potter ⚡ meme.
  • insult - ava insult @user#1234 will tag the receiving user and insult them with a random phrase.
  • java - ava java tells the truth about the java programming language.
  • karen - ava karen - gives you back a random reddit post + img from /r/FuckYouKaren.
  • meme - ava meme give random meme from reddit.
  • mock - ava mock <text> reports back spongebob "mock" formatted text.
  • recipe - ava recipe - gives you back a random recipe from seriouseats. Alternatively, you can search with ava recipe pizza.
  • remindme - ava remindme <to do something at some time> Will reply to the message at the mentioned time. Requires AVA_ENABLE_REMINDERS=true.
    • ava remindme I suck tomorrow
    • ava remindme to go do a thing on April 1st 2024
    • ava remindme to go do a thing on April 1st 2024 at 1PM PST
  • takemehome - ava takemehome sings the John Denver classic.
  • tldr - ava tldr https://somenews.site returns a 2 sentence TLDR for a webpage.
  • video - ava video something something returns a youtube video based on the search terms provided.
  • whiteclaw - ava whiteclaw does the needful.
  • yeet - ava yeet sends an awesome yeet pic.

Docker

# Discord only
docker run -e AVA_DISCORD_TOKEN="<token>" circa10a/ava

# Slack only
docker run -e AVA_SLACK_BOT_TOKEN="<bot-token>" -e AVA_SLACK_APP_TOKEN="<app-token>" circa10a/ava

# Both platforms simultaneously
docker run -e AVA_DISCORD_TOKEN="<token>" -e AVA_SLACK_BOT_TOKEN="<bot-token>" -e AVA_SLACK_APP_TOKEN="<app-token>" circa10a/ava

Contribution

We welcome all contributions! Please visit the contribution documentation to get started.

Releases

No releases published

Packages

 
 
 

Contributors