API ReferenceChat 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
Copy 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:
Argument
Description
Required
Chat id you want to export invite link to
Optional. Current chat id by default
Copy 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:
Argument
Description
Required
Invite link you want to edit
Options how you want to edit link
Copy 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');
}
}
Revoke invite link
You can revoke invite link using .revokeInviteLink
answer/api method
.revokeInviteLink answer method take arguments:
Argument
Description
Required
Invite link you want to revoke
Chat id in which you want to revoke link
Optional. Current chat id by default
Copy 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`;
}
}