Tips for Providing Inputs While Joining a Scene in Telegraf.js

const calendar = new Calendar(bot, {
  date_format: "MMM D, YYYY HH:mm", // 24-hour format
  language: "en",
  start_week_day: 1,
  bot_api: "telegraf",
  time_selector_mod: true,
  time_range: "00:00-23:59",
  time_step: "60m",
});

bot.action("launchListingBtn", async (ctx) => {
  ctx.scene.enter("collectLaunchData");
});


wondering how I can pass the callender into the scene with the name "collectLaunchData". Can anyone assist with this?

Answer №1

To provide additional arguments when entering a scene, you can store the data in the ctx.scene.state object.

bot.action("launchListingBtn", async (ctx) => {
  ctx.scene.state.calendar = calendar;
  ctx.scene.enter("collectLaunchData");
});

In the scene handler for collectLaunchData, you can retrieve the calendar object from ctx.scene.state.

const collectLaunchDataScene = new Scenes.BaseScene('collectLaunchData');

collectLaunchDataScene.enter((ctx) => {
  const { calendar } = ctx.scene.state;
  // You can now utilize the calendar data here.
  ctx.reply('Some text');
});

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

What could be causing the input field state to remain static even as I type in the MUI textField?

In my React.js component, I am facing an issue where the textField is not updating when I try to type anything. Upon debugging, I discovered that when the first character is entered, the component re-renders and loses its previous state, causing the textF ...

Attempting to access a variable from outside the function

I am looking to pass the index variable from mapping to the event change function in my code snippet below: {this.data && this.data.map((item, index) => ( <tr className="table-info" key={index}> <td>{index}</ ...

Retrieving a numerical value from a constantly changing string

The string is constantly changing. For example: Date15:Month8:Year1990 Is there a way to extract the number 15 without using substring, since the values are always different? I am looking to extract only the number after "Date" and before ":". ...

Struggling to understand the concept of utilizing Promises for data retrieval

I'm currently facing an issue with my async function that awaits a GraphQL call. Even though the call returns a Promise containing the desired data, I'm struggling to access it effectively. Below is the snippet of code in question: export async ...

Firebase properties are not being passed from the parent component to the child component

I am facing an issue with passing Firebase props from a parent component to a child component for form submission. Whenever I try to submit the form details in the child component, I encounter the error message Cannot read property 'firebase' of ...

utilizing geographical coordinates in a separate function

I have a program that enables users to access the locations of communication cabinets. I am attempting to utilize html5 to transmit latitude and longitude information to a php script (geo.php) in order to update the database record with map coordinates. Ho ...

Is it possible in Javascript to support an array made up of arrays?

I've been told that arrays of arrays are not allowed in JavaScript. Is this still the case? What about the following object – is it valid? object: { array: [ [0], ['1', '2'] ] } Could someon ...

Close the spaces between the points in the cloud by increasing their size as you approach them

Something interesting happens when I view my point cloud from a distance - all the points seem to merge together, creating the optical illusion of a continuous surface. This is the effect I am aiming for. However, upon closer inspection, the individual poi ...

Occasionally, the script tags in Next.js fail to load

https://i.stack.imgur.com/tSrIu.png An error message appears when the script tag fails to load. I have a total of 6 script tags in my code. These scripts are present in my code, but they do not consistently load. However, I can see them when ins ...

Using Angular directives to dynamically add event listeners with the ng-repeat directive

I am currently working with a directive that includes event listeners for an element in the link function. For example: ... link: function(scope, element) { // this gives us the native JS object var el = element[0]; el.draggable = true; ...

I am having trouble toggling radio buttons in React

class VoiceSelector extends Component { constructor(props){ this.handleCheck = this.handleCheck.bind(this); } state={ voices : [ {"Voice":"Indian English Female Voice 1"}, {"Voice":&qu ...

How to align icon and text perfectly in a Bootstrap 5 Button

I am looking to align icons and text within a modal body: <div class="modal-body"> <div class="d-grid gap-2" id="someButtons"> </div> </div> This code snippet demonstrates how I insert buttons ...

Express JS sub child routes are experiencing issues with static files not functioning properly

I used express-generator to create my project structure. In app.js, the code is as follows: var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require(&a ...

Ensure Angular Reactive Forms do not include empty fields when submitting the form

Is there a way to retrieve only the fields with values entered by the user from a form and exclude empty fields in the resulting JSON object? Currently, the JSON object still includes empty quotation marks for empty inputs. Thank you! Current: { "user ...

JavaScript Class experiencing issues with returning NAN when using the Multiplication method

Currently, I have a JavaScript Class with a multiplication method that aims to multiply all elements of an array excluding those that are undefined. To achieve this, I utilized a for loop to check the data type of each element (ensuring it is a number) and ...

Exploring options for accessing Google Maps API on iPhone without using UIWebView for processing JavaScript

I need to retrieve data from Google Maps using JavaScript, without using a webview. For example, I have two points (lat,lng) and I want to use the Google Maps API to calculate the driving distance between them. Essentially, I want to utilize the Google Ma ...

AJAX response for form validation

I need to validate my contact form when the submit button is clicked. If all fields are valid, I want to display a Processing message using AJAX, followed by a success message with the entered name. The content of my Form is: <form onsubmit="return va ...

Error 400: Invalid request encountered while developing a game using Node and Socket.io

Embarking on the journey of creating a game, I find myself lost when it comes to the online functionality. Utilizing node.js, I am attempting to set up my computer as both the server host and client (localhost:3000). var express = require('express&a ...

display a new feature immediately upon the user's login

I encountered a scenario where the user is supposed to log in, and upon successful login, another component should be displayed. However, this functionality is not working as expected for me. I have to click the login button again or refresh the page to vi ...

What is the best way to unselect the "all" selector if one of the inputs is no longer selected?

I am facing an issue with a search filter functionality. When all filters are selected and then deselected individually or together, the "all" button remains selected. I need help in ensuring that when any filter is deselected, the "all" button also gets d ...