tgsnake
Version:
Telegram MTProto framework for nodejs.
162 lines (161 loc) • 6.44 kB
TypeScript
import { TLObject } from '../TL.js';
import { Raw } from '../../platform.node.js';
import { User } from '../Advanced/User.js';
import { Chat } from '../Advanced/Chat.js';
import type { Snake } from '../../Client/index.js';
export type TypeChatMember = ChatMemberOwner | ChatMemberAdministrator | ChatMemberMember | ChatMemberRestricted | ChatMemberLeft | ChatMemberBanned;
export interface TypeChatMemberUpdated {
chat: Chat;
from: User;
date: Date;
viaChatFolderInviteLink: boolean;
oldChatMember?: TypeChatMember;
newChatMember?: TypeChatMember;
inviteLink?: string;
}
export declare class ChatMemberUpdated extends TLObject {
chat: Chat;
from: User;
date: Date;
viaChatFolderInviteLink: boolean;
oldChatMember?: TypeChatMember;
newChatMember?: TypeChatMember;
inviteLink?: string;
constructor({ chat, from, date, viaChatFolderInviteLink, oldChatMember, newChatMember, inviteLink, }: TypeChatMemberUpdated, client: Snake);
static parse(client: Snake, update: Raw.UpdateChannelParticipant | Raw.UpdateChatParticipant, chats: Array<Raw.TypeChat>, users: Array<Raw.TypeUser>): ChatMemberUpdated;
}
export interface TypeChatMemberOwner {
status: 'creator';
user: User;
isAnonymous: boolean;
customTitle?: string;
}
export declare class ChatMemberOwner extends TLObject {
status: 'creator';
user: User;
isAnonymous: boolean;
customTitle?: string;
constructor({ status, user, isAnonymous, customTitle }: TypeChatMemberOwner, client: Snake);
static parse(client: Snake, member: Raw.ChannelParticipantCreator | Raw.ChatParticipantCreator, users: Array<Raw.TypeUser>): ChatMemberOwner;
}
export interface TypeChatMemberAdministrator {
status: 'administrator';
user: User;
canBeEdited: boolean;
isAnonymous: boolean;
canManageChat: boolean;
canDeleteMessages: boolean;
canRestrictMembers: boolean;
canManageVideoChats: boolean;
canPromoteMembers: boolean;
canChangeInfo: boolean;
canInviteUsers: boolean;
joinedDate: Date;
canPostMessages?: boolean;
canEditMessages?: boolean;
canPinMessages?: boolean;
canManageTopics?: boolean;
customTitle?: string;
}
export declare class ChatMemberAdministrator extends TLObject {
status: 'administrator';
user: User;
canBeEdited: boolean;
isAnonymous: boolean;
canManageChat: boolean;
canDeleteMessages: boolean;
canRestrictMembers: boolean;
canManageVideoChats: boolean;
canPromoteMembers: boolean;
canChangeInfo: boolean;
canInviteUsers: boolean;
joinedDate: Date;
canPostMessages?: boolean;
canEditMessages?: boolean;
canPinMessages?: boolean;
canManageTopics?: boolean;
customTitle?: string;
constructor({ status, user, canBeEdited, isAnonymous, canManageChat, canDeleteMessages, canRestrictMembers, canManageVideoChats, canPromoteMembers, canChangeInfo, canInviteUsers, joinedDate, canPostMessages, canEditMessages, canPinMessages, canManageTopics, customTitle, }: TypeChatMemberAdministrator, client: Snake);
static parse(client: Snake, member: Raw.ChatParticipantAdmin | Raw.ChannelParticipantAdmin, users: Array<Raw.TypeUser>): ChatMemberAdministrator;
}
export interface TypeChatMemberMember {
status: 'member';
user: User;
joinedDate: Date;
}
export declare class ChatMemberMember extends TLObject {
status: 'member';
user: User;
joinedDate: Date;
constructor({ status, user, joinedDate }: TypeChatMemberMember, client: Snake);
static parse(client: Snake, member: Raw.ChatParticipant | Raw.ChannelParticipant | Raw.ChannelParticipantSelf, users: Array<Raw.TypeUser>): ChatMemberMember;
}
export interface TypeChatMemberRestricted {
status: 'restricted';
user: User;
isMember: boolean;
canSendMessages: boolean;
canSendAudios: boolean;
canSendDocument: boolean;
canSendPhotos: boolean;
canSendVideos: boolean;
canSendVideoNotes: boolean;
canSendVoiceNotes: boolean;
canSendPolls: boolean;
canSendOtherMessages: boolean;
canAddWebPagePreviews: boolean;
canChangeInfo: boolean;
canInviteUsers: boolean;
canPinMessages: boolean;
canManageTopics: boolean;
untilDate: typeof Infinity | Date;
joinedDate: Date;
}
export declare class ChatMemberRestricted extends TLObject {
status: 'restricted';
user: User;
isMember: boolean;
canSendMessages: boolean;
canSendAudios: boolean;
canSendDocument: boolean;
canSendPhotos: boolean;
canSendVideos: boolean;
canSendVideoNotes: boolean;
canSendVoiceNotes: boolean;
canSendPolls: boolean;
canSendOtherMessages: boolean;
canAddWebPagePreviews: boolean;
canChangeInfo: boolean;
canInviteUsers: boolean;
canPinMessages: boolean;
canManageTopics: boolean;
untilDate: typeof Infinity | Date;
joinedDate: Date;
constructor({ status, user, isMember, canSendMessages, canSendAudios, canSendDocument, canSendPhotos, canSendVideos, canSendVideoNotes, canSendVoiceNotes, canSendPolls, canSendOtherMessages, canAddWebPagePreviews, canChangeInfo, canInviteUsers, canPinMessages, canManageTopics, untilDate, joinedDate, }: TypeChatMemberRestricted, client: Snake);
static parse(client: Snake, member: Raw.ChannelParticipantBanned, users: Array<Raw.TypeUser>): ChatMemberRestricted;
}
export interface TypeChatMemberLeft {
status: 'left';
user: User;
}
export declare class ChatMemberLeft extends TLObject {
status: 'left';
user: User;
constructor({ status, user }: TypeChatMemberLeft, client: Snake);
static parse(client: Snake, member: Raw.ChannelParticipantLeft, users: Array<Raw.TypeUser>): ChatMemberLeft;
}
export interface TypeChatMemberBanned {
status: 'kicked' | 'banned';
user: User;
untilDate: typeof Infinity | Date;
joinedDate: Date;
}
export declare class ChatMemberBanned extends TLObject {
status: 'kicked' | 'banned';
user: User;
untilDate: typeof Infinity | Date;
joinedDate: Date;
constructor({ status, user, untilDate, joinedDate }: TypeChatMemberBanned, client: Snake);
static parse(client: Snake, member: Raw.ChannelParticipantBanned, users: Array<Raw.TypeUser>): ChatMemberBanned;
}
export declare function ChatMember(client: Snake, users: Array<Raw.TypeUser>, member?: Raw.TypeChatParticipant | Raw.TypeChannelParticipant): TypeChatMember | undefined;