GramIO API Reference / @gramio/scenes/dist / Scene
Class: Scene<Params, Errors, State, Derives>
Defined in: scenes/index.d.ts:213
Type Parameters
| Type Parameter | Default type |
|---|---|
Params | never |
Errors extends ErrorDefinitions | object |
State extends StateTypesDefault | Record<string, never> |
Derives extends SceneDerivesDefinitions<Params, State, any> | SceneDerivesDefinitions<Params, State> |
Constructors
Constructor
new Scene<
Params,Errors,State,Derives>(name):Scene<Params,Errors,State,Derives>
Defined in: scenes/index.d.ts:429
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
Scene<Params, Errors, State, Derives>
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
~ | object | Internal | scenes/index.d.ts:215 |
~.composer | EventComposer<Context<AnyBot>, { boost_added: BoostAddedContext<AnyBot>; business_connection: BusinessConnectionContext<AnyBot>; business_message: MessageContext<AnyBot> & Require<MessageContext<AnyBot>, "from">; callback_query: CallbackQueryContext<AnyBot>; channel_post: MessageContext<AnyBot>; chat_background_set: ChatBackgroundSetContext<AnyBot>; chat_boost: ChatBoostContext<AnyBot>; chat_join_request: ChatJoinRequestContext<AnyBot>; chat_member: ChatMemberContext<AnyBot>; chat_owner_changed: ChatOwnerChangedContext<AnyBot>; chat_owner_left: ChatOwnerLeftContext<AnyBot>; chat_shared: ChatSharedContext<AnyBot>; checklist_tasks_added: ChecklistTasksAddedContext<AnyBot>; checklist_tasks_done: ChecklistTasksDoneContext<AnyBot>; chosen_inline_result: ChosenInlineResultContext<AnyBot>; delete_chat_photo: DeleteChatPhotoContext<AnyBot>; deleted_business_messages: BusinessMessagesDeletedContext<AnyBot>; direct_message_price_changed: DirectMessagePriceChangedContext<AnyBot>; edited_business_message: MessageContext<AnyBot> & Require<MessageContext<AnyBot>, "from">; edited_channel_post: MessageContext<AnyBot> & Require<MessageContext<AnyBot>, "from">; edited_message: MessageContext<AnyBot> & Require<MessageContext<AnyBot>, "from">; forum_topic_closed: ForumTopicClosedContext<AnyBot>; forum_topic_created: ForumTopicCreatedContext<AnyBot>; forum_topic_edited: ForumTopicEditedContext<AnyBot>; forum_topic_reopened: ForumTopicReopenedContext<AnyBot>; general_forum_topic_hidden: GeneralForumTopicHiddenContext<AnyBot>; general_forum_topic_unhidden: GeneralForumTopicUnhiddenContext<AnyBot>; gift: GiftContext<AnyBot>; gift_upgrade_sent: GiftUpgradeSentContext<AnyBot>; giveaway_completed: GiveawayCompletedContext<AnyBot>; giveaway_created: GiveawayCreatedContext<AnyBot>; giveaway_winners: GiveawayWinnersContext<AnyBot>; group_chat_created: GroupChatCreatedContext<AnyBot>; inline_query: InlineQueryContext<AnyBot>; invoice: InvoiceContext<AnyBot>; left_chat_member: LeftChatMemberContext<AnyBot>; location: LocationContext<AnyBot>; message: MessageContext<AnyBot> & Require<MessageContext<AnyBot>, "from">; message_auto_delete_timer_changed: MessageAutoDeleteTimerChangedContext<AnyBot>; message_reaction: MessageReactionContext<AnyBot>; message_reaction_count: MessageReactionCountContext<AnyBot>; migrate_from_chat_id: MigrateFromChatIdContext<AnyBot>; migrate_to_chat_id: MigrateToChatIdContext<AnyBot>; my_chat_member: ChatMemberContext<AnyBot>; new_chat_members: NewChatMembersContext<AnyBot>; new_chat_photo: NewChatPhotoContext<AnyBot>; new_chat_title: NewChatTitleContext<AnyBot>; paid_message_price_changed: PaidMessagePriceChangedContext<AnyBot>; passport_data: PassportDataContext<AnyBot>; pinned_message: PinnedMessageContext<AnyBot>; poll: PollContext<AnyBot>; poll_answer: PollAnswerContext<AnyBot>; pre_checkout_query: PreCheckoutQueryContext<AnyBot>; proximity_alert_triggered: ProximityAlertTriggeredContext<AnyBot>; purchased_paid_media: PaidMediaPurchasedContext<AnyBot>; refunded_payment: RefundedPaymentContext<AnyBot>; removed_chat_boost: RemovedChatBoostContext<AnyBot>; service_message: MessageContext<AnyBot>; shipping_query: ShippingQueryContext<AnyBot>; successful_payment: SuccessfulPaymentContext<AnyBot>; suggested_post_approval_failed: SuggestedPostApprovalFailedContext<AnyBot>; suggested_post_approved: SuggestedPostApprovedContext<AnyBot>; suggested_post_declined: SuggestedPostDeclinedContext<AnyBot>; suggested_post_paid: SuggestedPostPaidContext<AnyBot>; suggested_post_refunded: SuggestedPostRefundedContext<AnyBot>; unique_gift: UniqueGiftContext<AnyBot>; users_shared: UsersSharedContext<AnyBot>; video_chat_ended: VideoChatEndedContext<AnyBot>; video_chat_participants_invited: VideoChatParticipantsInvitedContext<AnyBot>; video_chat_scheduled: VideoChatScheduledContext<AnyBot>; video_chat_started: VideoChatStartedContext<AnyBot>; web_app_data: WebAppDataContext<AnyBot>; write_access_allowed: WriteAccessAllowedContext<AnyBot>; }, Context<AnyBot>, Context<AnyBot>, { }, { }, { callbackQuery: TThis; chosenInlineResult: TThis; command: TThis; hears: TThis; inlineQuery: TThis; reaction: TThis; startParameter: TThis; }, { }> & object | - | scenes/index.d.ts:218 |
~.enter | (ctx) => void | - | scenes/index.d.ts:425 |
~.params | Params | - | scenes/index.d.ts:216 |
~.state | State | - | scenes/index.d.ts:217 |
name | string | - | scenes/index.d.ts:427 |
stepsCount | number | - | scenes/index.d.ts:428 |
Methods
ask()
ask<
Key,Schema,Return>(key,validator,firstTimeMessage,options?):Scene<Params,Errors,Record<string,never> extendsState?Return:State&Return,Modify<Derives, {global:Modify<Derives["global"], {scene:Modify<Derives["global"]["scene"], {state:Record<string,never> extendsState?Return:State&Return; }>; }>; }>>
Defined in: scenes/index.d.ts:466
Type Parameters
| Type Parameter | Default type |
|---|---|
Key extends string | - |
Schema extends StandardSchemaV1<unknown, unknown> | - |
Return extends StateTypesDefault | { [key in string]: InferOutput<Schema> } |
Parameters
| Parameter | Type | Description |
|---|---|---|
key | Key | - |
validator | Schema | - |
firstTimeMessage | Stringable | - |
options? | { onInvalidInput?: (issues) => Stringable; } | - |
options.onInvalidInput? | (issues) => Stringable | Custom message when validation fails. Receives all issues from the validator. |
Returns
Scene<Params, Errors, Record<string, never> extends State ? Return : State & Return, Modify<Derives, { global: Modify<Derives["global"], { scene: Modify<Derives["global"]["scene"], { state: Record<string, never> extends State ? Return : State & Return; }>; }>; }>>
compose()
compose(
context,onNext?):Promise<void>
Defined in: scenes/index.d.ts:478
Parameters
| Parameter | Type |
|---|---|
context | Context<Bot<{ }, DeriveDefinitions, { }>> & object |
onNext? | () => unknown |
Returns
Promise<void>
exitData()
exitData<
ExitData>():Scene<Params,Errors,State,Modify<Derives, {global:Modify<Derives["global"], {scene:Modify<Derives["global"]["scene"], {exitSub: (returnData?) =>Promise<void>; }>; }>; }>>
Defined in: scenes/index.d.ts:444
Type Parameters
| Type Parameter |
|---|
ExitData extends Record<string, unknown> |
Returns
Scene<Params, Errors, State, Modify<Derives, { global: Modify<Derives["global"], { scene: Modify<Derives["global"]["scene"], { exitSub: (returnData?) => Promise<void>; }>; }>; }>>
extend()
Call Signature
extend<
UExposed,UDerives>(composer):Scene<Params,Errors,State,Derives&object&UDerives>
Defined in: scenes/index.d.ts:451
Type Parameters
| Type Parameter |
|---|
UExposed extends object |
UDerives extends Record<string, object> |
Parameters
| Parameter | Type |
|---|---|
composer | EventComposer<any, any, any, any, UExposed, UDerives, any> |
Returns
Scene<Params, Errors, State, Derives & object & UDerives>
Call Signature
extend<
NewPlugin>(plugin):Scene<Params,Errors&NewPlugin["_"]["Errors"],State,Derives&NewPlugin["_"]["Derives"]>
Defined in: scenes/index.d.ts:454
Type Parameters
| Type Parameter |
|---|
NewPlugin extends AnyPlugin |
Parameters
| Parameter | Type |
|---|---|
plugin | NewPlugin |
Returns
Scene<Params, Errors & NewPlugin["_"]["Errors"], State, Derives & NewPlugin["_"]["Derives"]>
on()
on<
T>(updateName,handler):this
Defined in: scenes/index.d.ts:456
Type Parameters
| Type Parameter |
|---|
T extends UpdateName |
Parameters
| Parameter | Type |
|---|---|
updateName | MaybeArray<T> |
handler | Handler<InstanceType<ContextsMapping<Bot<{ }, DeriveDefinitions, { }>>[T]> & object & DeriveDefinitions[T] & Derives["global"] & Derives[T]> |
Returns
this
onEnter()
onEnter(
handler):this
Defined in: scenes/index.d.ts:455
Parameters
| Parameter | Type |
|---|---|
handler | (context) => unknown |
Returns
this
params()
params<
SceneParams>():Scene<SceneParams,Errors,State,Modify<Derives, {global: {scene:Modify<Derives["global"]["scene"], {params:SceneParams; }>; }; }>>
Defined in: scenes/index.d.ts:430
Type Parameters
| Type Parameter |
|---|
SceneParams |
Returns
Scene<SceneParams, Errors, State, Modify<Derives, { global: { scene: Modify<Derives["global"]["scene"], { params: SceneParams; }>; }; }>>
run()
run(
context,storage,key,data):Promise<void>
Defined in: scenes/index.d.ts:481
Parameters
| Parameter | Type |
|---|---|
context | Context<Bot<{ }, DeriveDefinitions, { }>> & object |
storage | Storage |
key | string |
data | ScenesStorageData<unknown, unknown> |
Returns
Promise<void>
state()
state<
StateParams>():Scene<Params,Errors,StateParams,Derives&object>
Defined in: scenes/index.d.ts:437
Type Parameters
| Type Parameter |
|---|
StateParams extends StateTypesDefault |
Returns
Scene<Params, Errors, StateParams, Derives & object>
step()
Call Signature
step<
T,Handler,Return>(updateName,handler):Scene<Params,Errors,Extract<Return,UpdateData<any>> extendsUpdateData<Type> ?Record<string,never> extendsState?Type:State&Type:State,Modify<Derives, {global:Modify<Derives["global"], {scene:Modify<Derives["global"]["scene"], {state:Extract<Return,UpdateData<any>> extendsUpdateData<Type> ?Record<string,never> extendsState?Type:State&Type:State; }>; }>; }>>
Defined in: scenes/index.d.ts:458
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends UpdateName | - |
Handler extends StepHandler<InstanceType<ContextsMapping<Bot<{ }, DeriveDefinitions, { }>>[T]> & object & DeriveDefinitions[T] & Derives["global"] & Derives[T], any> | - |
Return | Awaited<ReturnType<Handler>> |
Parameters
| Parameter | Type |
|---|---|
updateName | MaybeArray<T> |
handler | Handler |
Returns
Scene<Params, Errors, Extract<Return, UpdateData<any>> extends UpdateData<Type> ? Record<string, never> extends State ? Type : State & Type : State, Modify<Derives, { global: Modify<Derives["global"], { scene: Modify<Derives["global"]["scene"], { state: Extract<Return, UpdateData<any>> extends UpdateData<Type> ? Record<string, never> extends State ? Type : State & Type : State; }>; }>; }>>
Call Signature
step(
handler):this
Defined in: scenes/index.d.ts:465
Parameters
| Parameter | Type |
|---|---|
handler | Handler<Context<Bot<{ }, DeriveDefinitions, { }>> & Derives["global"]> |
Returns
this
use()
use(
handler):this
Defined in: scenes/index.d.ts:457
Parameters
| Parameter | Type |
|---|---|
handler | Handler<Context<Bot<{ }, DeriveDefinitions, { }>> & Derives["global"]> |
Returns
this