Skip to main content

Gaming Community Bot

Deploy an AI moderator and support bot to Discord.
import { Router, DiscordAdapter } from '@boostgpt/router';

const router = new Router({
  apiKey: process.env.BOOSTGPT_API_KEY,
  projectId: process.env.BOOSTGPT_PROJECT_ID,
  defaultBotId: process.env.BOOSTGPT_BOT_ID,
  adapters: [
    new DiscordAdapter({
      discordToken: process.env.DISCORD_TOKEN,
      replyInDMs: true,
      replyOnMention: true
    })
  ]
});

router.onMessage(async (message, context) => {
  // Custom game commands
  if (message.content === '/stats') {
    return 'Your stats: Level 42, 1337 XP';
  }
  
  if (message.content === '/leaderboard') {
    return 'Top players: 1. Player1 2. Player2 3. Player3';
  }
  
  // Let AI handle questions
  return null;
});

await router.start();

Multi-Channel Support Bot

Provide customer support across Discord, Slack, and WhatsApp.
import { 
  Router, 
  DiscordAdapter, 
  SlackAdapter,
  WhatsAppAdapter 
} from '@boostgpt/router';

const router = new Router({
  apiKey: process.env.BOOSTGPT_API_KEY,
  projectId: process.env.BOOSTGPT_PROJECT_ID,
  defaultBotId: process.env.BOOSTGPT_BOT_ID,
  adapters: [
    new DiscordAdapter({ discordToken: process.env.DISCORD_TOKEN }),
    new SlackAdapter({ 
      slackToken: process.env.SLACK_TOKEN,
      slackSigningSecret: process.env.SLACK_SIGNING_SECRET
    }),
    new WhatsAppAdapter({ 
      allowedContacts: ['1234567890'] 
    })
  ]
});

router.onMessage(async (message, context) => {
  // Log support requests
  console.log(`[${context.channel}] Support: ${message.content}`);
  
  // Priority keywords
  if (message.content.toLowerCase().includes('urgent')) {
    // Alert human support
    await notifySupport(message, context.channel);
  }
  
  // Let AI handle
  return null;
});

await router.start();

Community Manager

Manage multiple community platforms with one bot.
import { 
  Router, 
  DiscordAdapter, 
  TelegramAdapter,
  SlackAdapter 
} from '@boostgpt/router';

const router = new Router({
  apiKey: process.env.BOOSTGPT_API_KEY,
  projectId: process.env.BOOSTGPT_PROJECT_ID,
  defaultBotId: process.env.BOOSTGPT_BOT_ID,
  adapters: [
    new DiscordAdapter({ discordToken: process.env.DISCORD_TOKEN }),
    new TelegramAdapter({ telegramToken: process.env.TELEGRAM_TOKEN }),
    new SlackAdapter({ 
      slackToken: process.env.SLACK_TOKEN,
      slackSigningSecret: process.env.SLACK_SIGNING_SECRET
    })
  ]
});

// Broadcast announcements
async function announce(message) {
  await router.broadcast(message);
  console.log('📢 Announcement sent to all channels');
}

// Handle questions
router.onMessage(async (message) => {
  return null; // AI handles all questions
});

await router.start();

// Schedule announcements
setInterval(() => {
  announce('Weekly reminder: Community call every Friday at 3PM UTC');
}, 7 * 24 * 60 * 60 * 1000); // Once a week

FAQ Bot

Auto-respond to common questions across platforms.
const router = new Router({
  apiKey: process.env.BOOSTGPT_API_KEY,
  projectId: process.env.BOOSTGPT_PROJECT_ID,
  defaultBotId: process.env.BOOSTGPT_BOT_ID,
  adapters: [
    new DiscordAdapter({ discordToken: process.env.DISCORD_TOKEN }),
    new TelegramAdapter({ telegramToken: process.env.TELEGRAM_TOKEN })
  ]
});

// Train bot with FAQs using Core SDK
import { BoostGPT } from 'boostgpt';

const client = new BoostGPT({
  key: process.env.BOOSTGPT_API_KEY,
  project_id: process.env.BOOSTGPT_PROJECT_ID
});

await client.startTraining({
  bot_id: process.env.BOOSTGPT_BOT_ID,
  type: 'text',
  source: `
    Q: What are your support hours?
    A: We're available 9 AM - 5 PM EST Monday-Friday.
    
    Q: How do I reset my password?
    A: Click "Forgot Password" on the login page.
    
    // ... more FAQs
  `,
  tags: ['faq']
});

await router.start();

Next Steps