Nestgram
  • ⭐About Nestgram
  • 📄Guide
  • 📰News
  • đŸ”ŧHandling updates
    • Handling commands
    • Handling text messages
    • Handling other updates
    • Entities: url, email and other
    • Other arguments in handler
    • Handling media files and download it
  • đŸĒļNestgram Features
    • Services
    • Middlewares and Params
    • Sending messages correctly
    • Answer class
    • Scopes
    • States
    • Views
  • đŸ’ŦMessages
    • Sending a photo, video and other media
    • Sending a media group
    • Send location (live) or venue
    • Send contact
    • Send poll
    • Send dice
    • Edit/delete messages
    • Copy or Forward a message
  • âŒ¨ī¸Keyboards
    • Keyboard types, building keyboard
    • Handle underTheMessage keyboard button click by Alert or Toast
    • Keyboard layouts
  • âš™ī¸Config
    • CLI
    • Webhooks and run config
    • Api class
    • Modules
      • Mongo module
    • Controller Helper class
  • 🤖API Reference
    • Set chat action
    • Save user profile photo
    • Ban, unban user or chat
    • Restrict or Promote user
    • Set chat permissions
    • Set chat admin custom title
    • Chat invite links
    • Join requests
    • Update chat info, photo, title, description and more
    • Pin or unpin messages
    • Get chat info, leave chat
    • Check user subscription
    • Chat sticker set
    • My commands
    • My default admin rights
    • Menu button
Powered by GitBook
On this page
  • Send poll
  • Stop poll
  1. Messages

Send poll

You can send poll to the channel or to the user

Send poll

You can send the poll to the channel or to the user. It can be anonymous poll or quiz. To create it, use the Poll class

Poll class take arguments

Argument
Description
Required
1

Question

Required

2

Poll options (array of string)

Required

3

Optional

app.controller.ts
import { Controller, MessageSend, OnCommand, Poll } from 'nestgram';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @OnCommand('start')
  sendPoll(): MessageSend {
    return new MessageSend(
      new Poll(
        'What is Nestgram?', // question
        ['Framework', 'Library'], // options
        { // params
          type: 'quiz', // send quiz
          is_anonymous: true, // send anonymous quiz
          correct_option_id: 0, // and correct answer is 'Framework'
        }
      ),
    );
  }
}

Stop poll

To stop poll, use StopPoll class-method or .stopPoll answer/api method

StopPoll class-method take arguments:

Argument
Description
Required
1

Keyboard you want to add

Optional

2

Message id you want to edit

Optional. Current message id by default

3

Chat id in which poll you want to stop is located

Optional. Current chat id by default

4

Optional

If you want to know what arguments an API method takes, see the IDE hint

app.controller.ts
import { Controller, Keyboard, KeyboardTypes, MessageSend, OnClick, OnCommand, Poll, StopPoll } from 'nestgram';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @OnCommand('start')
  sendPoll(): MessageSend {
    return new MessageSend(
      new Poll(
        'What is Nestgram?', // question
        ['Framework', 'Library'], // options
        { // params
          type: 'quiz', // send quiz
          is_anonymous: true, // send anonymous quiz
          correct_option_id: 0, // and correct answer is 'Framework'
        }
      ),
      new Keyboard(KeyboardTypes.underTheMessage)
        .btn('Stop me', 'stop'),
    )
  }

  @OnClick('stop')
  stopPoll(): StopPoll {
    return new StopPoll();
  }
}
PreviousSend contactNextSend dice

Last updated 2 years ago

đŸ’Ŧ
More options
More options