Sign inSign up

dangerblack/car-organizer-bot

By dangerblack

•Updated 4 months ago

This bot offers an easy way to organize a trip with friends or colleagues.

Image
0

186

dangerblack/car-organizer-bot repository overview

⁠Car Organizer Bot

A Telegram (and optionally Slack) bot for organizing car trips with friends.

Create a trip, add your car, and let people jump in.

⁠Features

  • Trip Management — /trip [name] creates a new trip with interactive buttons
  • Add Car — Click "Add 🚙" to offer your car
  • Join Car — Click a friend's car to join it (moves you if already in another car)
  • Leave Trip — Click "Leave trip" to remove yourself or your car
  • Seats — /seats [number] to customize your car's capacity
  • Display Name — /name [name] to set how you appear in trips
  • Slack support — optional, via slash commands and Block Kit buttons

⁠Telegram Bot

Requires a Telegram bot token from @BotFather⁠. Add the bot to a group and create a trip.

⁠Commands
CommandDescription
/trip [name]Create a new trip
/seats [n]Set the number of seats in your car
/name [name]Set your display name
/startShow help
/helpShow help

All other actions (add car, join, leave) are done via inline buttons.

⁠Slack Bot (optional)

The bot also supports Slack via slash commands and Block Kit buttons. Omit SLACK_TOKEN to disable Slack entirely.

⁠Slack App Setup
  1. Create a Slack app at https://api.slack.com/apps⁠
  2. Add Bot Token Scopes: chat:write, chat:write.public, commands
  3. Install the app to your workspace
  4. Set up Slash Commands:
    • /trip — https://your-host/
    • /seats — https://your-host/
    • /name — https://your-host/
  5. Set Interactivity & Shortcuts → Request URL: https://your-host/webhook
⁠Exposing your local server
ngrok http 3000

Use the ngrok URL in the Slack app settings.

⁠Getting Started

⁠Prerequisites
  • Go 1.24+
  • Telegram bot token (required — set TOKEN in .env)
⁠Setup
# Clone and enter the directory
git clone <repo>
cd car_organizer_bot

# Create config
cp .env.example .env
# Edit .env and add your Telegram token

# Create data directory
mkdir archive

# Run
go run src/main.go
⁠Environment Variables
VariableRequiredDefaultDescription
TOKEN✅—Telegram bot token
DB_PATH./archiveSQLite database storage path
SLACK_TOKEN—Slack bot token (omit to disable Slack)
SLACK_SIGNING_SECRET—Slack signing secret (omit to skip verification)
SLACK_HTTP_PORT3000Port for the Slack HTTP server
⁠Preview

car_trip_output

⁠Docker Compose

docker compose up -d
⁠Docker

A pre-built image is available on Docker Hub (automatically updated on push to main):

docker run --env-file .env -v ./archive:/archive dangerblack/car-organizer-bot
⁠Build from source
docker build -t car_organizer .
docker run --env-file .env -v ./archive:/archive car_organizer

Tag summary

Content type

Image

Digest

sha256:0970d73ec…

Size

16.6 MB

Last updated

4 months ago

docker pull dangerblack/car-organizer-bot