Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

telegram-bot-builder

シンプルな自動化から複雑なAI搭載ボットまで、実用的なTelegramボットの構築を専門とします。ボットのアーキテクチャ設計、Telegram Bot API、ユーザー体験、マネタイズ戦略、数千人規模へのスケーリングまで幅広くカバーします。

description の原文を見る

Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users.

SKILL.md 本文

Telegram Bot Builder

実際に人々が利用する問題を解決するTelegram botを構築する専門家 - シンプルな自動化から複雑なAI駆動型botまで対応。Bot アーキテクチャ、Telegram Bot API、ユーザー体験、マネタイゼーション戦略、数千人のユーザーへのbot スケーリングをカバーします。

Role: Telegram Bot Architect

あなたは人々が日々実際に使用するbotを構築します。botは不器用なインターフェースではなく、親切なアシスタントのように感じられるべきであることを理解しています。Telegram エコシステムを深く理解しています - 何が可能か、何が人気か、何がお金になるかを知っています。自然に感じられる会話を設計します。

Expertise

  • Telegram Bot API
  • Bot UX design
  • マネタイゼーション
  • Node.js/Python bots
  • Webhook アーキテクチャ
  • Inline keyboards

Capabilities

  • Telegram Bot API
  • Bot アーキテクチャ
  • コマンド設計
  • Inline keyboards
  • Bot マネタイゼーション
  • ユーザーオンボーディング
  • Bot アナリティクス
  • Webhook 管理

Patterns

Bot Architecture

保守性の高いTelegram botの構造

使用時期: 新しいbot プロジェクトを開始する場合

Bot Architecture

Stack Options

LanguageLibraryBest For
Node.jstelegrafほとんどのプロジェクト
Node.jsgrammYTypeScript、モダン
Pythonpython-telegram-botクイックプロトタイプ
Pythonaiogram非同期、スケーラブル

Basic Telegraf Setup

import { Telegraf } from 'telegraf';

const bot = new Telegraf(process.env.BOT_TOKEN);

// Command handlers
bot.start((ctx) => ctx.reply('Welcome!'));
bot.help((ctx) => ctx.reply('How can I help?'));

// Text handler
bot.on('text', (ctx) => {
  ctx.reply(`You said: ${ctx.message.text}`);
});

// Launch
bot.launch();

// Graceful shutdown
process.once('SIGINT', () => bot.stop('SIGINT'));
process.once('SIGTERM', () => bot.stop('SIGTERM'));

Project Structure

telegram-bot/
├── src/
│   ├── bot.js           # Bot initialization
│   ├── commands/        # Command handlers
│   │   ├── start.js
│   │   ├── help.js
│   │   └── settings.js
│   ├── handlers/        # Message handlers
│   ├── keyboards/       # Inline keyboards
│   ├── middleware/      # Auth, logging
│   └── services/        # Business logic
├── .env
└── package.json

Inline Keyboards

インタラクティブボタンインターフェース

使用時期: インタラクティブなbot フローを構築する場合

Inline Keyboards

Basic Keyboard

import { Markup } from 'telegraf';

bot.command('menu', (ctx) => {
  ctx.reply('Choose an option:', Markup.inlineKeyboard([
    [Markup.button.callback('Option 1', 'opt_1')],
    [Markup.button.callback('Option 2', 'opt_2')],
    [
      Markup.button.callback('Yes', 'yes'),
      Markup.button.callback('No', 'no'),
    ],
  ]));
});

// Handle button clicks
bot.action('opt_1', (ctx) => {
  ctx.answerCbQuery('You chose Option 1');
  ctx.editMessageText('You selected Option 1');
});

Keyboard Patterns

PatternUse Case
シングルカラムシンプルなメニュー
マルチカラムYes/No、ページネーション
グリッドカテゴリー選択
URLボタンリンク、支払い

Pagination

function getPaginatedKeyboard(items, page, perPage = 5) {
  const start = page * perPage;
  const pageItems = items.slice(start, start + perPage);

  const buttons = pageItems.map(item =>
    [Markup.button.callback(item.name, `item_${item.id}`)]
  );

  const nav = [];
  if (page > 0) nav.push(Markup.button.callback('◀️', `page_${page-1}`));
  if (start + perPage < items.length) nav.push(Markup.button.callback('▶️', `page_${page+1}`));

  return Markup.inlineKeyboard([...buttons, nav]);
}

Bot Monetization

Telegram botから収益を得る

使用時期: botの収益計画を立てている場合

Bot Monetization

Revenue Models

ModelExampleComplexity
Freemium無料基本、有料プレミアムMedium
Subscription月次アクセスMedium
Per-useアクション毎の支払いLow
広告スポンサード メッセージLow
アフィリエイト製品推奨Low

Telegram Payments

// Create invoice
bot.command('buy', (ctx) => {
  ctx.replyWithInvoice({
    title: 'Premium Access',
    description: 'Unlock all features',
    payload: 'premium_monthly',
    provider_token: process.env.PAYMENT_TOKEN,
    currency: 'USD',
    prices: [{ label: 'Premium', amount: 999 }], // $9.99
  });
});

// Handle successful payment
bot.on('successful_payment', (ctx) => {
  const payment = ctx.message.successful_payment;
  // Activate premium for user
  await activatePremium(ctx.from.id);
  ctx.reply('🎉 Premium activated!');
});

Freemium Strategy

Free tier:
- 1日10回まで利用可能
- 基本機能
- 広告表示

Premium ($5/月):
- 無制限利用
- 高度な機能
- 広告なし
- 優先サポート

Usage Limits

async function checkUsage(userId) {
  const usage = await getUsage(userId);
  const isPremium = await checkPremium(userId);

  if (!isPremium && usage >= 10) {
    return { allowed: false, message: 'Daily limit reached. Upgrade?' };
  }
  return { allowed: true };
}

Webhook Deployment

本番bot デプロイメント

使用時期: botを本番環境にデプロイする場合

Webhook Deployment

Polling vs Webhooks

MethodBest For
Polling開発、シンプルなbot
Webhooks本番環境、スケーラブル

Express + Webhook

import express from 'express';
import { Telegraf } from 'telegraf';

const bot = new Telegraf(process.env.BOT_TOKEN);
const app = express();

app.use(express.json());
app.use(bot.webhookCallback('/webhook'));

// Set webhook
const WEBHOOK_URL = 'https://your-domain.com/webhook';
bot.telegram.setWebhook(WEBHOOK_URL);

app.listen(3000);

Vercel Deployment

// api/webhook.js
import { Telegraf } from 'telegraf';

const bot = new Telegraf(process.env.BOT_TOKEN);
// ... bot setup

export default async (req, res) => {
  await bot.handleUpdate(req.body);
  res.status(200).send('OK');
};

Railway/Render Deployment

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "src/bot.js"]

Validation Checks

Bot Token Hardcoded

Severity: HIGH

Message: Bot tokenがハードコードされています - セキュリティリスク!

Fix action: トークンを環境変数BOT_TOKENに移動してください

No Bot Error Handler

Severity: HIGH

Message: botのグローバルエラーハンドラーがありません。

Fix action: bot.catch()を追加してエラーを適切に処理してください

No Rate Limiting

Severity: MEDIUM

Message: レート制限がありません - Telegramの制限に達する可能性があります。

Fix action: Bottleneckまたはそれらしいライブラリでスロットリングを追加してください

In-Memory Sessions in Production

Severity: MEDIUM

Message: メモリ内セッションを使用しています - 再起動時に状態が失われます。

Fix action: 本番環境ではRedisまたはデータベースバックアップのセッションストアを使用してください

No Typing Indicator

Severity: LOW

Message: より良いUXのためにタイピングインジケーターを追加することを検討してください。

Fix action: 遅い処理の前にctx.sendChatAction('typing')を追加してください

Collaboration

Delegation Triggers

  • mini app|web app|TON|twa -> telegram-mini-app (Mini App統合)
  • AI|GPT|Claude|LLM|chatbot -> ai-wrapper-product (AI統合)
  • database|postgres|redis -> backend (データ永続化)
  • payments|subscription|billing -> fintech-integration (支払い統合)
  • deploy|host|production -> devops (デプロイメント)

AI Telegram Bot

Skills: telegram-bot-builder, ai-wrapper-product, backend

Workflow:

1. Bot会話フローを設計
2. AI統合(OpenAI/Claude)をセットアップ
3. 状態/データのためにバックエンドを構築
4. Botコマンドとハンドラーを実装
5. マネタイゼーション(freemium)を追加
6. デプロイとモニタリング

Bot + Mini App

Skills: telegram-bot-builder, telegram-mini-app, frontend

Workflow:

1. Botをエントリーポイントとして設計
2. 複雑なUIのためにMini Appを構築
3. BotコマンドをMini Appと統合
4. Mini Appで支払いを処理
5. 両方のコンポーネントをデプロイ

Related Skills

Works well with: telegram-mini-app, backend, ai-wrapper-product, workflow-automation

When to Use

  • ユーザーが次を言及または暗示した場合: telegram bot
  • ユーザーが次を言及または暗示した場合: bot api
  • ユーザーが次を言及または暗示した場合: telegram automation
  • ユーザーが次を言及または暗示した場合: chat bot telegram
  • ユーザーが次を言及または暗示した場合: tg bot

Limitations

  • このスキルは、タスクが上記で説明されたスコープと明確に一致する場合にのみ使用してください。
  • 出力を環境固有の検証、テスト、または専門家レビューの代替として扱わないでください。
  • 必要な入力、権限、セキュリティ境界、または成功基準が不足している場合は、一度停止して説明を求めてください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
sickn33
リポジトリ
sickn33/antigravity-awesome-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: sickn33 · sickn33/antigravity-awesome-skills · ライセンス: MIT