That's about it. More features to come!
- Navigate to the project directory and copy the example .env
cp .env.example .env - Go to Slack API Apps
- Click "Create New App"
- Click "From a manifest"
- Select "YAML"
- Copy and paste the manifest from
manifest.yaml - Install the app to your workspace
- Navigate to "OAuth & Permissions" (in left sidebar once app created)
- Copy the "Bot User OAuth Token" (starts with
xoxb-) & put it in the .env - Navigate to "Basic Information"
- Scroll down to "App-Level Tokens" and click "Generate token and Scopes"
- Select all the options from the dropdown and name your token
- Click generate and copy it (starts with
xapp-) and put it in the .env - Add the main chanel and ticket channel ID's to the .env Note: you MUST add the bot to both channels
- Run
npm start
All bot behavior can be easily customized by editing src/constants.ts:
GRACE_PERIOD_MS: How long to wait before auto-resolving (default: 10 minutes)TIMER_CHECK_INTERVAL_MS: How often to check timers (default: 1 minute)
AUTO_SAVE_INTERVAL_MS: Backup save frequency (default: 5 minutes)DATA_FILE_NAME: Filename for data storage (default: 'ticket-data.json')
MEMBER_REFRESH_INTERVAL_MS: How often to refresh help staff list (default: 1 hour)LEADERBOARD_POST_INTERVAL_MS: Daily leaderboard frequency (default: 24 hours)
WELCOME_EMOJI: Emoji in welcome message (default: ':wave-pikachu-2:')WELCOME_MESSAGE_TEXT: Text shown to users when they create a ticketRESOLVE_BUTTON_TEXT: Button label (default: 'Resolve')TICKET_RESOLVED_MESSAGE: Message shown when ticket is closedQUEUE_MESSAGE_HEADER: Header text for the queue messageUNCLAIMED_TEXT: Text for unclaimed tickets (default: 'Not claimed')CLAIMED_TEXT_FORMAT: Format for claimed tickets (use{mentions}placeholder)
STARTUP_NOTIFICATION_USER_ID: User to notify on startup (set tonullto disable)STARTUP_MESSAGE: Startup notification text
All constants include detailed comments in the file explaining their purpose and usage!