Telegram · Capability

Telegram Bot API — Member Management

Telegram Bot API — Member Management. 7 operations. Lead operation: Approve Chat Join Request. Self-contained Naftiko capability covering one Telegram business surface.

Run with Naftiko TelegramMember Management

What You Can Do

POST
Approvechatjoinrequest — Approve Chat Join Request
/v1/approvechatjoinrequest
POST
Banchatmember — Ban Chat Member
/v1/banchatmember
POST
Declinechatjoinrequest — Decline Chat Join Request
/v1/declinechatjoinrequest
POST
Promotechatmember — Promote Chat Member
/v1/promotechatmember
POST
Restrictchatmember — Restrict Chat Member
/v1/restrictchatmember
POST
Setchatadministratorcustomtitle — Set Chat Administrator Custom Title
/v1/setchatadministratorcustomtitle
POST
Unbanchatmember — Unban Chat Member
/v1/unbanchatmember

MCP Tools

approve-chat-join-request

Approve Chat Join Request

ban-chat-member

Ban Chat Member

decline-chat-join-request

Decline Chat Join Request

promote-chat-member

Promote Chat Member

restrict-chat-member

Restrict Chat Member

set-chat-administrator-custom-title

Set Chat Administrator Custom Title

unban-chat-member

Unban Chat Member

Capability Spec

bot-member-management.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Telegram Bot API — Member Management
  description: 'Telegram Bot API — Member Management. 7 operations. Lead operation: Approve Chat Join Request. Self-contained
    Naftiko capability covering one Telegram business surface.'
  tags:
  - Telegram
  - Member Management
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TELEGRAM_API_KEY: TELEGRAM_API_KEY
capability:
  consumes:
  - type: http
    namespace: bot-member-management
    baseUri: https://api.telegram.org/bot{token}
    description: Telegram Bot API — Member Management business capability. Self-contained, no shared references.
    resources:
    - name: approveChatJoinRequest
      path: /approveChatJoinRequest
      operations:
      - name: approvechatjoinrequest
        method: POST
        description: Approve Chat Join Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: banChatMember
      path: /banChatMember
      operations:
      - name: banchatmember
        method: POST
        description: Ban Chat Member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: declineChatJoinRequest
      path: /declineChatJoinRequest
      operations:
      - name: declinechatjoinrequest
        method: POST
        description: Decline Chat Join Request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: promoteChatMember
      path: /promoteChatMember
      operations:
      - name: promotechatmember
        method: POST
        description: Promote Chat Member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: restrictChatMember
      path: /restrictChatMember
      operations:
      - name: restrictchatmember
        method: POST
        description: Restrict Chat Member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: setChatAdministratorCustomTitle
      path: /setChatAdministratorCustomTitle
      operations:
      - name: setchatadministratorcustomtitle
        method: POST
        description: Set Chat Administrator Custom Title
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: unbanChatMember
      path: /unbanChatMember
      operations:
      - name: unbanchatmember
        method: POST
        description: Unban Chat Member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: token
      value: '{{env.TELEGRAM_API_KEY}}'
      placement: path
  exposes:
  - type: rest
    namespace: bot-member-management-rest
    port: 8080
    description: REST adapter for Telegram Bot API — Member Management. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/approvechatjoinrequest
      name: approvechatjoinrequest
      description: REST surface for approveChatJoinRequest.
      operations:
      - method: POST
        name: approvechatjoinrequest
        description: Approve Chat Join Request
        call: bot-member-management.approvechatjoinrequest
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/banchatmember
      name: banchatmember
      description: REST surface for banChatMember.
      operations:
      - method: POST
        name: banchatmember
        description: Ban Chat Member
        call: bot-member-management.banchatmember
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/declinechatjoinrequest
      name: declinechatjoinrequest
      description: REST surface for declineChatJoinRequest.
      operations:
      - method: POST
        name: declinechatjoinrequest
        description: Decline Chat Join Request
        call: bot-member-management.declinechatjoinrequest
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/promotechatmember
      name: promotechatmember
      description: REST surface for promoteChatMember.
      operations:
      - method: POST
        name: promotechatmember
        description: Promote Chat Member
        call: bot-member-management.promotechatmember
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/restrictchatmember
      name: restrictchatmember
      description: REST surface for restrictChatMember.
      operations:
      - method: POST
        name: restrictchatmember
        description: Restrict Chat Member
        call: bot-member-management.restrictchatmember
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/setchatadministratorcustomtitle
      name: setchatadministratorcustomtitle
      description: REST surface for setChatAdministratorCustomTitle.
      operations:
      - method: POST
        name: setchatadministratorcustomtitle
        description: Set Chat Administrator Custom Title
        call: bot-member-management.setchatadministratorcustomtitle
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/unbanchatmember
      name: unbanchatmember
      description: REST surface for unbanChatMember.
      operations:
      - method: POST
        name: unbanchatmember
        description: Unban Chat Member
        call: bot-member-management.unbanchatmember
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: bot-member-management-mcp
    port: 9090
    transport: http
    description: MCP adapter for Telegram Bot API — Member Management. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: approve-chat-join-request
      description: Approve Chat Join Request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bot-member-management.approvechatjoinrequest
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ban-chat-member
      description: Ban Chat Member
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bot-member-management.banchatmember
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: decline-chat-join-request
      description: Decline Chat Join Request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bot-member-management.declinechatjoinrequest
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: promote-chat-member
      description: Promote Chat Member
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bot-member-management.promotechatmember
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: restrict-chat-member
      description: Restrict Chat Member
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bot-member-management.restrictchatmember
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-chat-administrator-custom-title
      description: Set Chat Administrator Custom Title
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bot-member-management.setchatadministratorcustomtitle
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: unban-chat-member
      description: Unban Chat Member
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bot-member-management.unbanchatmember
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.