Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Composer<C>

Type parameters

Hierarchy

Implements

  • MiddlewareObj<C>

Index

Constructors

constructor

Properties

Private handler

handler: MiddlewareFn<C>

Methods

action

  • action(triggers: Triggers<C>, ...fns: MatchedMiddleware<C, "callback_query">): Composer<C>
  • Registers middleware for handling matching callback queries.

    Parameters

    • triggers: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "callback_query">

    Returns Composer<C>

cashtag

  • cashtag(cashtag: MaybeArray<string>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): Composer<C>
  • Parameters

    • cashtag: MaybeArray<string>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns Composer<C>

command

  • command(command: MaybeArray<string>, ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, "text">>>): Composer<C>
  • Registers middleware for handling specified commands.

    Parameters

    • command: MaybeArray<string>
    • Rest ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, "text">>>

    Returns Composer<C>

drop

  • drop(predicate: Predicate<C>): Composer<C>
  • Registers middleware for dropping matching updates.

    Parameters

    • predicate: Predicate<C>

    Returns Composer<C>

email

  • email(email: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): Composer<C>
  • Parameters

    • email: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns Composer<C>

Private entity

  • entity<T>(predicate: MaybeArray<string> | ((entity: MessageEntity, s: string, ctx: C) => boolean), ...fns: readonly Middleware<MatchedContext<C, T>>[]): Composer<C>
  • Type parameters

    • T: "message" | "channel_post" | MessageSubType = "message" | "channel_post"

    Parameters

    • predicate: MaybeArray<string> | ((entity: MessageEntity, s: string, ctx: C) => boolean)
    • Rest ...fns: readonly Middleware<MatchedContext<C, T>>[]

    Returns Composer<C>

filter

  • filter(predicate: Predicate<C>): Composer<C>

gameQuery

guard

  • Registers middleware for handling updates matching given type guard function.

    Type parameters

    • U: Update

    Parameters

    • guardFn: (update: Update) => update is U
        • (update: Update): update is U
        • Parameters

          • update: Update

          Returns update is U

    • Rest ...fns: NonemptyReadonlyArray<Middleware<NarrowedContext<C, U>>>

    Returns Composer<C>

hashtag

  • hashtag(hashtag: MaybeArray<string>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): Composer<C>
  • Parameters

    • hashtag: MaybeArray<string>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns Composer<C>

hears

  • hears(triggers: Triggers<C>, ...fns: MatchedMiddleware<C, "text">): Composer<C>
  • Registers middleware for handling matching text messages.

    Parameters

    • triggers: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "text">

    Returns Composer<C>

help

  • Registers a middleware for handling /help

    Parameters

    • Rest ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, "text">>>

    Returns Composer<C>

inlineQuery

  • inlineQuery(triggers: Triggers<C>, ...fns: MatchedMiddleware<C, "inline_query">): Composer<C>
  • Registers middleware for handling matching inline queries.

    Parameters

    • triggers: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "inline_query">

    Returns Composer<C>

mention

  • mention(mention: MaybeArray<string>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): Composer<C>
  • Parameters

    • mention: MaybeArray<string>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns Composer<C>

middleware

on

  • on<T>(updateType: MaybeArray<T>, ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, T>>>): Composer<C>
  • Registers middleware for handling provided update types.

    Type parameters

    • T: "text" | "callback_query" | "message" | "channel_post" | "chat_member" | "chosen_inline_result" | "edited_channel_post" | "edited_message" | "inline_query" | "my_chat_member" | "pre_checkout_query" | "poll_answer" | "poll" | "shipping_query" | "forward_date" | "channel_chat_created" | "connected_website" | "delete_chat_photo" | "group_chat_created" | "invoice" | "left_chat_member" | "message_auto_delete_timer_changed" | "migrate_from_chat_id" | "migrate_to_chat_id" | "new_chat_members" | "new_chat_photo" | "new_chat_title" | "passport_data" | "proximity_alert_triggered" | "pinned_message" | "successful_payment" | "supergroup_chat_created" | "voice_chat_started" | "voice_chat_ended" | "voice_chat_participants_invited" | "animation" | "document" | "audio" | "contact" | "dice" | "game" | "location" | "photo" | "sticker" | "venue" | "video" | "video_note" | "voice"

    Parameters

    • updateType: MaybeArray<T>
    • Rest ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, T>>>

    Returns Composer<C>

phone

  • phone(number: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): Composer<C>
  • Parameters

    • number: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns Composer<C>

settings

  • settings(...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, "text">>>): Composer<C>
  • Registers a middleware for handling /settings

    Parameters

    • Rest ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, "text">>>

    Returns Composer<C>

start

  • start(...fns: NonemptyReadonlyArray<Middleware<Context<{ message: New & NonChannel & TextMessage; update_id: number }> & Omit<C, keyof Context<Update>> & { startPayload: string }>>): Composer<C>
  • Registers a middleware for handling /start

    Parameters

    • Rest ...fns: NonemptyReadonlyArray<Middleware<Context<{ message: New & NonChannel & TextMessage; update_id: number }> & Omit<C, keyof Context<Update>> & { startPayload: string }>>

    Returns Composer<C>

textLink

  • textLink(link: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): Composer<C>
  • Parameters

    • link: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns Composer<C>

textMention

  • textMention(mention: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): Composer<C>
  • Parameters

    • mention: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns Composer<C>

url

  • url(url: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): Composer<C>
  • Parameters

    • url: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns Composer<C>

use

Static acl

  • Generates middleware responding only to specified users.

    Type parameters

    Parameters

    • userId: MaybeArray<number>
    • Rest ...fns: NonemptyReadonlyArray<Middleware<C>>

    Returns MiddlewareFn<C>

Static action

  • action<C>(triggers: Triggers<C>, ...fns: MatchedMiddleware<C, "callback_query">): MiddlewareFn<C>
  • Generates middleware for handling matching callback queries.

    Type parameters

    Parameters

    • triggers: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "callback_query">

    Returns MiddlewareFn<C>

Static admin

  • Generates middleware responding only to chat admins and chat creator.

    Type parameters

    Parameters

    • Rest ...fns: NonemptyReadonlyArray<Middleware<C>>

    Returns MiddlewareFn<C>

Static branch

  • Type parameters

    Parameters

    • predicate: Predicate<C> | AsyncPredicate<C>
    • trueMiddleware: Middleware<C>

      middleware to run if the predicate returns true

    • falseMiddleware: Middleware<C>

      middleware to run if the predicate returns false

    Returns MiddlewareFn<C>

Static cashtag

  • cashtag<C>(cashtag: MaybeArray<string>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • cashtag: MaybeArray<string>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Static catch

  • Type parameters

    Parameters

    • errorHandler: (err: unknown, ctx: C) => void
        • (err: unknown, ctx: C): void
        • Parameters

          • err: unknown
          • ctx: C

          Returns void

    • Rest ...fns: readonly Middleware<C>[]

    Returns MiddlewareFn<C>

Static chatType

  • chatType<C>(type: MaybeArray<"channel" | "private" | "group" | "supergroup">, ...fns: NonemptyReadonlyArray<Middleware<C>>): MiddlewareFn<C>
  • Generates middleware running only in specified chat types.

    Type parameters

    Parameters

    • type: MaybeArray<"channel" | "private" | "group" | "supergroup">
    • Rest ...fns: NonemptyReadonlyArray<Middleware<C>>

    Returns MiddlewareFn<C>

Static command

  • command<C>(command: MaybeArray<string>, ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, "text">>>): MiddlewareFn<C>
  • Generates middleware for handling specified commands.

    Type parameters

    Parameters

    • command: MaybeArray<string>
    • Rest ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, "text">>>

    Returns MiddlewareFn<C>

Static compose

Static creator

Static dispatch

  • dispatch<C, Handlers>(routeFn: (ctx: C) => MaybePromise<keyof Handlers>, handlers: Handlers): Middleware<C>
  • Type parameters

    Parameters

    • routeFn: (ctx: C) => MaybePromise<keyof Handlers>
        • (ctx: C): MaybePromise<keyof Handlers>
        • Parameters

          • ctx: C

          Returns MaybePromise<keyof Handlers>

    • handlers: Handlers

    Returns Middleware<C>

Static drop

  • Generates middleware for dropping matching updates.

    Type parameters

    Parameters

    • predicate: Predicate<C>

    Returns MiddlewareFn<C>

Static email

  • email<C>(email: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • email: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Private Static entity

  • entity<C, T>(predicate: MaybeArray<string> | ((entity: MessageEntity, s: string, ctx: C) => boolean), ...fns: readonly Middleware<MatchedContext<C, T>>[]): MiddlewareFn<C>
  • Type parameters

    Parameters

    • predicate: MaybeArray<string> | ((entity: MessageEntity, s: string, ctx: C) => boolean)
    • Rest ...fns: readonly Middleware<MatchedContext<C, T>>[]

    Returns MiddlewareFn<C>

Static entityText

  • entityText<C>(entityType: MaybeArray<string>, predicate: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • entityType: MaybeArray<string>
    • predicate: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Static filter

Static fork

Static gameQuery

Static groupChat

Static guard

  • Generates optional middleware based on a predicate that only operates on ctx.update.

    Example:

    import { Composer, Update } from 'telegraf'
    
    const predicate = (u): u is Update.MessageUpdate => 'message' in u
    const middleware = Composer.guard(predicate, (ctx) => {
      const message = ctx.update.message
    })
    

    Note that Composer.mount('message') is preferred over this.

    see

    Composer.optional for a more generic version of this method that allows the predicate to operate on ctx itself

    Type parameters

    Parameters

    • guardFn: (u: Update) => u is U

      predicate to decide whether to run the middleware based on the ctx.update object

        • (u: Update): u is U
        • Parameters

          • u: Update

          Returns u is U

    • Rest ...fns: NonemptyReadonlyArray<Middleware<NarrowedContext<C, U>>>

      middleware to run if the predicate returns true

    Returns MiddlewareFn<C>

Static hashtag

  • hashtag<C>(hashtag: MaybeArray<string>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • hashtag: MaybeArray<string>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Static hears

  • hears<C>(triggers: Triggers<C>, ...fns: MatchedMiddleware<C, "text">): MiddlewareFn<C>
  • Generates middleware for handling matching text messages.

    Type parameters

    Parameters

    • triggers: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "text">

    Returns MiddlewareFn<C>

Static inlineQuery

  • inlineQuery<C>(triggers: Triggers<C>, ...fns: MatchedMiddleware<C, "inline_query">): MiddlewareFn<C>
  • Generates middleware for handling matching inline queries.

    Type parameters

    Parameters

    • triggers: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "inline_query">

    Returns MiddlewareFn<C>

Static lazy

Static log

Private Static match

  • match<C, T>(triggers: readonly ((text: string, ctx: C) => null | RegExpExecArray)[], ...fns: MatchedMiddleware<C, T>): MiddlewareFn<MatchedContext<C, T>>
  • Type parameters

    • C: Context<Update, C>

    • T: "callback_query" | "message" | "channel_post" | "inline_query" | MessageSubType

    Parameters

    • triggers: readonly ((text: string, ctx: C) => null | RegExpExecArray)[]
    • Rest ...fns: MatchedMiddleware<C, T>

    Returns MiddlewareFn<MatchedContext<C, T>>

Private Static memberStatus

  • memberStatus<C>(status: MaybeArray<"creator" | "administrator" | "member" | "restricted" | "left" | "kicked">, ...fns: NonemptyReadonlyArray<Middleware<C>>): MiddlewareFn<C>
  • Type parameters

    Parameters

    • status: MaybeArray<"creator" | "administrator" | "member" | "restricted" | "left" | "kicked">
    • Rest ...fns: NonemptyReadonlyArray<Middleware<C>>

    Returns MiddlewareFn<C>

Static mention

  • mention<C>(mention: MaybeArray<string>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • mention: MaybeArray<string>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Static mount

  • mount<C, T>(updateType: MaybeArray<T>, ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, T>>>): MiddlewareFn<C>
  • Generates middleware for handling provided update types.

    deprecated

    use Composer.on

    Type parameters

    • C: Context<Update, C>

    • T: "text" | "callback_query" | "message" | "channel_post" | "chat_member" | "chosen_inline_result" | "edited_channel_post" | "edited_message" | "inline_query" | "my_chat_member" | "pre_checkout_query" | "poll_answer" | "poll" | "shipping_query" | "forward_date" | "channel_chat_created" | "connected_website" | "delete_chat_photo" | "group_chat_created" | "invoice" | "left_chat_member" | "message_auto_delete_timer_changed" | "migrate_from_chat_id" | "migrate_to_chat_id" | "new_chat_members" | "new_chat_photo" | "new_chat_title" | "passport_data" | "proximity_alert_triggered" | "pinned_message" | "successful_payment" | "supergroup_chat_created" | "voice_chat_started" | "voice_chat_ended" | "voice_chat_participants_invited" | "animation" | "document" | "audio" | "contact" | "dice" | "game" | "location" | "photo" | "sticker" | "venue" | "video" | "video_note" | "voice"

    Parameters

    • updateType: MaybeArray<T>
    • Rest ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, T>>>

    Returns MiddlewareFn<C>

Static on

  • on<C, T>(updateType: MaybeArray<T>, ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, T>>>): MiddlewareFn<C>
  • Generates middleware for handling provided update types.

    Type parameters

    • C: Context<Update, C>

    • T: "text" | "callback_query" | "message" | "channel_post" | "chat_member" | "chosen_inline_result" | "edited_channel_post" | "edited_message" | "inline_query" | "my_chat_member" | "pre_checkout_query" | "poll_answer" | "poll" | "shipping_query" | "forward_date" | "channel_chat_created" | "connected_website" | "delete_chat_photo" | "group_chat_created" | "invoice" | "left_chat_member" | "message_auto_delete_timer_changed" | "migrate_from_chat_id" | "migrate_to_chat_id" | "new_chat_members" | "new_chat_photo" | "new_chat_title" | "passport_data" | "proximity_alert_triggered" | "pinned_message" | "successful_payment" | "supergroup_chat_created" | "voice_chat_started" | "voice_chat_ended" | "voice_chat_participants_invited" | "animation" | "document" | "audio" | "contact" | "dice" | "game" | "location" | "photo" | "sticker" | "venue" | "video" | "video_note" | "voice"

    Parameters

    • updateType: MaybeArray<T>
    • Rest ...fns: NonemptyReadonlyArray<Middleware<MatchedContext<C, T>>>

    Returns MiddlewareFn<C>

Static optional

  • optional<C>(predicate: Predicate<C> | AsyncPredicate<C>, ...fns: NonemptyReadonlyArray<Middleware<C>>): MiddlewareFn<C>
  • Generates optional middleware.

    Type parameters

    Parameters

    • predicate: Predicate<C> | AsyncPredicate<C>

      predicate to decide on a context object whether to run the middleware

    • Rest ...fns: NonemptyReadonlyArray<Middleware<C>>

    Returns MiddlewareFn<C>

Static passThru

Static phone

  • phone<C>(number: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • number: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Static privateChat

Static reply

Static tap

Static textLink

  • textLink<C>(link: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • link: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Static textMention

  • textMention<C>(mention: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • mention: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Static unwrap

Static url

  • url<C>(url: Triggers<C>, ...fns: MatchedMiddleware<C, "message" | "channel_post">): MiddlewareFn<C>
  • Type parameters

    Parameters

    • url: Triggers<C>
    • Rest ...fns: MatchedMiddleware<C, "message" | "channel_post">

    Returns MiddlewareFn<C>

Generated using TypeDoc