Chat invite links
You can export chat invite link
Export chat invite link
To export chat invite link, use .exportInviteLink
answer/api method
Use this method to generate a new primary invite link for a chat; any previously generated primary link is revoked. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights
Returns the new invite link as string on success
import { Controller, OnCommand, GetAnswer, Answer } from 'nestgram';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@OnCommand('admin_export_invite_link')
async exportInviteLink(@GetAnswer() answer: Answer): Promise<string> {
return await answer.exportInviteLink();
}
}
Create invite link
You can create chat invite link using .createInviteLink
answer/api method
.createInviteLink answer method take arguments:
Chat id you want to export invite link to
Optional. Current chat id by default
Returns chat invite link on success
import { Controller, OnCommand, IChatInviteLink, GetAnswer, Answer } from 'nestgram';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@OnCommand('admin_create_invite_link')
async createInviteLink(@GetAnswer() answer: Answer) {
const inviteLinkInfo: IChatInviteLink = await answer.createInviteLink({ member_limit: 10 });
return inviteLinkInfo.invite_link;
}
}
Edit invite link
To edit invite link, use Edit class-method and InviteLink class-mark. Or .editInviteLink
api method
Edit class-method take arguments:
Invite link you want to edit
Required
Options how you want to edit link
Required
import { Answer, Controller, Edit, GetAnswer, IChatInviteLink, InviteLink, OnCommand } from 'nestgram';
import { AppService } from './app.service';
@Controller()
export class AppController {
inviteLink: string
constructor(private readonly appService: AppService) {}
@OnCommand('start')
async createInviteLink(@GetAnswer() answer: Answer) {
const linkInfo: IChatInviteLink = await answer.createInviteLink();
return this.inviteLink = linkInfo.invite_link;
}
@OnCommand('edit')
editInviteLink() {
return new Edit(new InviteLink(this.inviteLink, { name: 'New name (edited)' })).next('Edited');
}
}
We recommend using services to save data
Revoke invite link
You can revoke invite link using .revokeInviteLink
answer/api method
.revokeInviteLink answer method take arguments:
Invite link you want to revoke
Required
Chat id in which you want to revoke link
Optional. Current chat id by default
Returns chat invite link on success
import { Controller, OnCommand, IChatInviteLink, GetAnswer, Answer } from 'nestgram';
import { AppService } from './app.service';
@Controller()
export class AppController {
inviteLink: string = '';
constructor(private readonly appService: AppService) {}
@OnCommand('admin_create_invite_link')
async createInviteLink(@GetAnswer() answer: Answer) {
const inviteLinkInfo: IChatInviteLink = await answer.createInviteLink({ member_limit: 10 });
this.inviteLink = inviteLinkInfo.invite_link;
return inviteLinkInfo.invite_link;
}
@OnCommand('admin_revoke_invite_link')
async revokeInviteLink(@GetAnswer() answer: Answer) {
await answer.revokeInviteLink(this.inviteLink);
return `${this.inviteLink} link revoked`;
}
}
We recommend using services to save data
Last updated