Files
PingMe/README.md
T
2026-06-27 11:32:25 -05:00

1.7 KiB

Ping Me

Minimal Discord reaction-role bot with a guided embed setup wizard.

Features

  • /pingme create step-by-step setup wizard
  • One editable wizard message with Back/Next/Cancel controls
  • Button role menus with optional emoji
  • Reaction role menus with emoji
  • Single-select mode: selecting a new option removes the previous configured role
  • Multi-select mode: users can hold multiple configured roles
  • Persistent Postgres storage

Setup

  1. Install dependencies:

    npm install
    
  2. Copy environment file:

    cp .env.example .env
    
  3. Create a Postgres database and fill in:

    • DISCORD_TOKEN
    • DISCORD_CLIENT_ID
    • DATABASE_URL (for example, postgres://postgres:postgres@localhost:5432/pingme)
    • optional DISCORD_GUILD_ID for instant dev command registration

    The bot creates the required Postgres table and indexes on startup.

  4. If you have existing data/pingme.json state, migrate it once:

    npm run migrate:json-to-postgres
    # or choose a file explicitly:
    npm run migrate:json-to-postgres -- ./data/pingme.json
    
  5. Register slash commands:

    npm run register
    
  6. Start the bot:

    npm run dev
    

Required Bot Permissions

Give the bot these permissions in servers where it is used:

  • Manage Roles
  • Send Messages
  • Embed Links
  • Add Reactions
  • Read Message History
  • Use External Emojis, if using external/custom emoji

The bot can only assign roles below its highest role.

Commands

/pingme create
/pingme list
/pingme delete message_id:<message id>
/pingme help

Production

Build and run compiled JavaScript:

npm run build
npm start