The Emote module provides various text-based emote commands for eevee.bot. These commands send predefined text responses or transform input text into stylized formats.

Features

  • Multiple emote commands with different text responses
  • Random selection for some emotes (dunno)
  • Text transformation capabilities (intense)
  • Rate limiting configurable per deployment
  • Cross-platform compatibility
  • Automatic command registration

Available Commands

CommandDescriptionParameters
dunnoSends a random “I don’t know” faceNone
shrugSends a shrug faceNone
dudeweedSends a “dude weed lmao” messageNone
downySends a downy faceNone
doubledownySends two downy faces in a rowNone
tripledownySends three downy faces in a rowNone
rainbowdownySends a rainbow-ized downy faceNone
idSends an “illegal drugs” messageNone
ldSends a “legal drugs” messageNone
lvSends a heart symbolNone
intenseIntensifies provided text<text>

Usage

Send any of the available commands to any channel where the bot is present (providing any platform prefix if required):

  !dunno
!shrug
!intense This is a test message
  

The bot will respond with the appropriate emote or transformed text.

Examples of responses:

  • !dunno¯\_(ツ)_/¯ (random selection from 9 different faces)
  • !shrug¯\_(ツ)_/¯
  • !intense Hello[Hello intensifies]

Configuration

To deploy the emote module, add it to your bot’s botModules configuration with moduleName: "emote":

  botModules:
- name: emote
  spec:
    size: 1
    image: ghcr.io/eeveebot/emote:latest
    pullPolicy: Always
    metrics: true
    metricsPort: 8080
    ipcConfig: my-eevee-bot
    moduleName: emote
    moduleConfig: |
      ratelimit:
        mode: drop
        level: user
        limit: 5
        interval: 1m
  

The ratelimit configuration controls how frequently users can invoke emote commands:

  • mode: Either enqueue (queue excess requests) or drop (discard excess requests)
  • level: Scope of rate limiting - channel, user, or global
  • limit: Maximum number of commands per interval
  • interval: Time period for rate limiting (e.g., 30s, 1m, 5m)