UNPKG

tgsnake

Version:

Telegram MTProto framework for nodejs.

162 lines (161 loc) 6.44 kB
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;