-
-
Save wmakeev/1ac40d3b2af05795fecf290379c7f942 to your computer and use it in GitHub Desktop.
telegram typings #telegram #typings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// A typings definition of some telegram data structure | |
// author: Richard He<[email protected]> | |
// https://gist.github.com/richard1122/1eb54cd4e422aeb707718ab307decd34 | |
// see more detail: https://core.telegram.org/bots/api | |
declare namespace TL { | |
export interface IResponse<T> { | |
ok:boolean | |
result:T | |
} | |
export interface IMessage { | |
message_id:number | |
from:IUser | |
date:number | |
chat:IChat | |
forward_from?:IUser | |
forward_from_chat?:IChat | |
forward_date?:number | |
reply_to_message?:IMessage | |
edit_date?:number | |
text?:string | |
entities?:Array<IMessageEntity> | |
audio?:IAudio | |
document?:IDocument | |
photo?:Array<IPhotoSize> | |
sticker?:ISticker | |
video?:IVideo | |
voice?:IVoice | |
caption?:string | |
contack?:IContact | |
location?:ILocation | |
venue?:IVenue | |
new_chat_member?:IUser | |
left_chat_member?:IUser | |
new_chat_title?:string | |
new_chat_photo?:Array<IPhotoSize> | |
delete_chat_photo?:boolean | |
group_chat_created?:boolean | |
supergroup_chat_created?:boolean | |
channel_chat_created?:boolean | |
migrate_to_chat_id?:number | |
migrate_from_chat_id?:number | |
pinned_message:IMessage | |
} | |
export interface IMessageUpdate { | |
update_id:number | |
message:IMessage | |
} | |
export interface IUser { | |
id:number | |
first_name:string | |
last_name?:string | |
username?:string | |
} | |
export type ChatType = 'private' | 'group' | 'supergroup' | 'channel' | |
export interface IChat { | |
id:number | |
type:ChatType | |
title?:string | |
username?:string | |
first_name?:string | |
last_name?:string | |
} | |
export type MessageEntityType = 'mention' | 'hashtag' | 'bot_command' | 'url' | 'email' | 'bold' | 'italic' | 'code' | 'pre' | 'text_link' | 'text_mention' | |
export interface IMessageEntity { | |
type:MessageEntityType | |
offset:number | |
length:number | |
url?:string | |
user?:IUser | |
} | |
export interface IFile { | |
file_id:string | |
file_size?:number | |
file_path?:string | |
} | |
export interface IPhotoSize extends IFile { | |
width:number | |
height:number | |
} | |
export interface IAudio extends IFile { | |
duration:number | |
performer?:string | |
title?:string | |
mime_type?:string | |
} | |
export interface IDocument extends IFile { | |
thumb?:IPhotoSize | |
file_name?:string | |
mime_type?:string | |
} | |
export interface ISticker extends IFile { | |
width:number | |
height:number | |
thumb?:IPhotoSize | |
emoji?:string | |
} | |
export interface IVideo extends IFile { | |
width:number | |
height:number | |
duration:number | |
thumb?:IPhotoSize | |
mime_type?:string | |
} | |
export interface IVoice extends IFile { | |
duration:number | |
mime_type?:string | |
} | |
export interface IContact { | |
phone_number:string | |
first_name:string | |
last_name?:string | |
user_id?:number | |
} | |
export interface ILocation { | |
longitude:number | |
latitude:number | |
} | |
export interface IVenue { | |
location:ILocation | |
title:string | |
address:string | |
foursquare_id?:string | |
} | |
export interface IUserProfilePhotos { | |
total_count:number | |
photos:Array<IPhotoSize> | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment