Skip to main content

Bot Commands

BarStrad-Bot provides simple and intuitive commands for menu display and order processing. Here's a complete reference of all available commands.

Display Bulgarian Menu

Command: !menu

Description: Displays the complete menu in Bulgarian language with numbered items for easy ordering.

Usage:

!menu

Example Output:

🍸 Шотове:
🍸 1. Текила Jose Cuervo Silver 30мл - 4.00 лв.
🍸 2. Текила Jose Cuervo Gold 30мл - 4.50 лв.
🍸 3. Aftershock 30мл - 4.00 лв.

🍸 Джин:
🍸 4. Tanqueray 50мл - 6.00 лв.
🍸 5. Bombay Sapphire 50мл - 6.50 лв.
...

Display English Menu

Command: !menu-en

Description: Displays the complete menu in English language with numbered items for easy ordering.

Usage:

!menu-en

Example Output:

🥃 Shots:
🥃 1. Tequila Jose Cuervo Silver 30ml - 4.00 лв.
🥃 2. Tequila Jose Cuervo Gold 30ml - 4.50 лв.
🥃 3. Aftershock 30ml - 4.00 лв.

🍸 Gin:
🍸 4. Tanqueray 50ml - 6.00 лв.
🍸 5. Bombay Sapphire 50ml - 6.50 лв.
...

Order Commands

Place an Order

Command: !order <item_number> <name_or_table>

Description: Places an order for a specific menu item. The bot validates the item number and sends a notification to staff via Discord webhook.

Parameters:

  • item_number: The number of the item from the menu (required)
  • name_or_table: Customer name or table number (required)

Usage Examples:

!order 1 John Smith
!order 5 Table 3
!order 12 Maria Garcia

Success Response:

✅ Your order of Текила Jose Cuervo Silver 30мл for John Smith is confirmed!

Error Responses:

Invalid item number:

Item number 99 not found.

Missing parameters:

Usage: !order <item number> <name or table number>

Command Behavior

Case Sensitivity

All commands are case-insensitive. These are equivalent:

  • !menu = !MENU = !Menu
  • !order = !ORDER = !Order

Multi-word Names

For names or table identifiers with spaces, the bot automatically combines all words after the item number:

!order 5 John Smith Jr
# Results in: "John Smith Jr"

!order 3 Table Number 7
# Results in: "Table Number 7"

Order Notifications

When an order is successfully placed:

  1. User Confirmation: The user receives a confirmation message in the Discord channel

  2. Staff Notification: A notification is sent to the configured webhook with order details:

    John Smith: Текила Jose Cuervo Silver 30мл (4.00 лв.)

Command Flow Examples

Typical Order Flow

User: !menu
Bot: [Displays complete Bulgarian menu with numbered items]

User: !order 5 Table 2
Bot: ✅ Your order of Bombay Sapphire 50мл for Table 2 is confirmed!
[Staff receives webhook notification]

Error Handling Flow

User: !order 999 John
Bot: Item number 999 not found.

User: !order 5
Bot: Usage: !order <item number> <name or table number>

User: !order abc John
Bot: Usage: !order <item number> <name or table number>

Bot Permissions Required

For proper functioning, the bot needs these Discord permissions:

  • Send Messages: To send menu displays and confirmations
  • Read Messages: To read user commands
  • Read Message History: To access channel message history
  • Use External Emojis: To display menu category icons (if using custom emojis)

Command Limitations

Current Limitations

  • Single Item Orders: Currently only supports one item per order command
  • No Order Modification: Orders cannot be modified after placement
  • No Order History: No built-in order history tracking
  • Channel Specific: Bot responds in the channel where commands are sent

Future Enhancements

Planned improvements include:

  • Multiple item orders (!order 1,5,7 Table 3)
  • Order modification commands
  • Order history and status tracking
  • Private message support
  • Slash command integration

Troubleshooting Commands

Bot Not Responding

If the bot doesn't respond to commands:

  1. Check bot status: Ensure bot shows as online in Discord
  2. Check permissions: Verify bot has required permissions in the channel
  3. Check spelling: Ensure commands start with ! and are spelled correctly
  4. Check logs: Review bot logs for error messages

If !menu or !menu-en don't work:

  1. Check menu files: Ensure menu-items.bg.json and menu-items.en.json exist
  2. Check JSON format: Verify menu files have valid JSON syntax
  3. Check file paths: Ensure menu files are in the correct src/data/ directory

Orders Not Working

If !order commands fail:

  1. Check item numbers: Use numbers from the displayed menu
  2. Check webhook configuration: Verify Discord webhook URL is correct
  3. Check webhook permissions: Ensure webhook can send messages to the target channel
  4. Check parameters: Ensure both item number and name/table are provided

Command Reference Quick Card

CommandPurposeExampleResponse
!menuShow Bulgarian menu!menuMenu with numbered items
!menu-enShow English menu!menu-enMenu with numbered items
!order <num> <name>Place order!order 5 JohnOrder confirmation + notification

Need help with setup? Check out our Getting Started Guide or Configuration Guide.