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
  1. API Reference

Check user subscription

You can check the user's subscription to a channel or group

To check user subscription, use .checkSubscription answer method

.checkSubscription answer method takes argument: channel IDs you want to check the user subscription to (...spread)

The bot must be an administrator of the channel/group you want to check the subscription to

Returns true if the user subscribed for all channels

app.controller.ts
import {
  Alert,
  Answer,
  Controller,
  GetAnswer,
  Keyboard,
  KeyboardTypes,
  MessageSend,
  OnClick,
  OnCommand,
} from 'nestgram';

import { AppService } from './app.service';

@Controller()
export class AppController {
  channelLink: string = 'https://t.me/nestgram_ts'
  channelId: number = -1001662708678

  constructor(private readonly appService: AppService) {}

  @OnCommand('start')
  helloMessage() {
    return new MessageSend(
      `Are you subscribed to the channel ${this.channelLink}?`,
      new Keyboard(KeyboardTypes.underTheMessage).btn('Yes!', 'check')
    );
  }
  
  @OnClick('check')
  async checkSubscription(@GetAnswer() answer: Answer) {
    const subscribed: boolean = await answer.checkSubscription(this.channelId);
    if (!subscribed) return new Alert(`You're a liar!`);
    return `Well thank you!`;
  }
}
PreviousGet chat info, leave chatNextChat sticker set

Last updated 2 years ago

🤖