twitter-api-v2
Version:
Strongly typed, full-featured, light, versatile yet powerful Twitter API v1.1 and v2 client for Node.js.
263 lines (262 loc) • 7.57 kB
TypeScript
import { UserEntitiesV1 } from './entities.v1.types';
import { TweetV1 } from './tweet.v1.types';
export interface UserV1 {
id_str: string;
id: number;
name: string;
screen_name: string;
location: string;
derived?: any;
url: string | null;
description: string | null;
protected: boolean;
verified: boolean;
followers_count: number;
friends_count: number;
listed_count: number;
favourites_count: number;
statuses_count: number;
created_at: string;
profile_banner_url: string;
profile_image_url_https: string;
default_profile: boolean;
default_profile_image: boolean;
withheld_in_countries: string[];
withheld_scope: string;
entities?: UserEntitiesV1;
/** Only on account/verify_credentials with include_email: true */
email?: string;
}
declare type TUserIdOrScreenName = {
user_id: string;
} | {
screen_name: string;
};
declare type TUserObjectParams = {
include_entities?: boolean;
skip_status?: boolean;
tweet_mode?: 'extended' | 'compat';
};
export interface DoubleEndedIdCursorV1Result {
next_cursor?: string;
next_cursor_str?: string;
previous_cursor?: string;
previous_cursor_str?: string;
ids: string[];
}
export interface DoubleEndedIdCursorV1Params {
stringify_ids?: boolean;
cursor?: string;
}
export interface UserFollowingsIdsV1Params extends DoubleEndedIdCursorV1Params {
screen_name?: string;
user_id?: string;
count?: number;
}
export interface UserFollowerIdsV1Params extends DoubleEndedIdCursorV1Params {
screen_name?: string;
user_id?: string;
count?: number;
}
interface UserListV1Params {
screen_name?: string;
user_id?: string;
count?: number;
cursor?: string;
skip_status?: boolean;
include_user_entities: boolean;
}
export declare type UserFollowerListV1Params = UserListV1Params;
export declare type UserFriendListV1Params = UserListV1Params;
export interface VerifyCredentialsV1Params {
include_entities?: boolean;
skip_status?: boolean;
include_email?: boolean;
}
export interface MuteUserListV1Params {
cursor?: string;
include_entities?: boolean;
skip_status?: string;
tweet_mode?: 'extended';
}
export declare type MuteUserIdsV1Params = DoubleEndedIdCursorV1Params;
export interface ReportSpamV1Params {
screen_name?: string;
user_id?: string;
perform_block?: boolean;
}
export interface UserSearchV1Params {
q?: string;
page?: number;
count?: number;
include_entities?: boolean;
tweet_mode?: 'extended';
}
export interface AccountSettingsV1Params {
sleep_time_enabled?: boolean;
start_sleep_time?: number;
end_sleep_time?: number;
time_zone?: string;
trend_location_woeid?: number;
lang?: string;
}
export interface AccountProfileV1Params {
name?: string;
url?: string;
location?: string;
description?: string;
profile_link_color?: string;
include_entities?: boolean;
skip_status?: boolean;
tweet_mode?: 'extended';
}
export declare type ProfileBannerSizeV1Params = TUserIdOrScreenName;
export interface ProfileBannerUpdateV1Params {
width?: number;
height?: number;
offset_left?: number;
offset_top?: number;
}
export declare type ProfileImageUpdateV1Params = TUserObjectParams;
export interface FriendshipShowV1Params {
source_id?: string;
source_screen_name?: string;
target_id?: string;
target_screen_name?: string;
}
export interface FriendshipLookupV1Params {
screen_name?: string | string[];
user_id?: string | string[];
}
export declare type FriendshipsIncomingV1Params = DoubleEndedIdCursorV1Params;
export interface FriendshipUpdateV1Params {
screen_name?: string;
user_id?: string;
device?: boolean;
retweets?: boolean;
}
export interface FriendshipCreateV1Params {
screen_name?: string;
user_id?: string;
follow?: boolean;
}
export interface FriendshipDestroyV1Params {
screen_name?: string;
user_id?: string;
}
export declare type UserShowV1Params = TUserIdOrScreenName & TUserObjectParams;
export declare type UserLookupV1Params = {
user_id?: string | string[];
screen_name?: string | string[];
} & TUserObjectParams;
export interface MuteUserListV1Result {
next_cursor?: string;
next_cursor_str?: string;
previous_cursor?: string;
previous_cursor_str?: string;
users: UserV1[];
}
export declare type MuteUserIdsV1Result = DoubleEndedIdCursorV1Result;
export declare type UserFollowerIdsV1Result = DoubleEndedIdCursorV1Result;
export declare type UserFollowingIdsV1Result = DoubleEndedIdCursorV1Result;
interface UserListV1Result {
next_cursor?: string;
next_cursor_str?: string;
previous_cursor?: string;
previous_cursor_str?: string;
users: UserV1[];
}
export declare type UserFollowerListV1Result = UserListV1Result;
export declare type UserFriendListV1Result = UserListV1Result;
export interface BannerSizeV1 {
h: number;
w: number;
url: string;
}
export interface ProfileBannerSizeV1 {
sizes: {
ipad: BannerSizeV1;
ipad_retina: BannerSizeV1;
web: BannerSizeV1;
web_retina: BannerSizeV1;
mobile: BannerSizeV1;
mobile_retina: BannerSizeV1;
'300x100': BannerSizeV1;
'600x200': BannerSizeV1;
'1500x500': BannerSizeV1;
};
}
export interface AccountSettingsV1 {
time_zone: {
name: string;
utc_offset: number;
tzinfo_name: string;
};
protected: boolean;
screen_name: string;
always_use_https: boolean;
use_cookie_personalization: boolean;
sleep_time: {
enabled: boolean;
end_time: string | null;
start_time: string | null;
};
geo_enabled: boolean;
language: string;
discoverable_by_email: boolean;
discoverable_by_mobile_phone: boolean;
display_sensitive_media: boolean;
allow_contributor_request: 'all' | 'following' | string;
allow_dms_from: 'all' | 'following' | string;
allow_dm_groups_from: 'all' | 'following' | string;
translator_type: string;
trend_location: {
name: string;
countryCode: string;
url: string;
woeid: number;
placeType: {
name: string;
code: number;
};
parentid: number | null;
country: string;
}[];
}
export declare type TFriendshipConnectionV1 = 'following' | 'following_requested' | 'followed_by' | 'none' | 'blocking' | 'muting';
export interface FriendshipRelationObjectV1 {
id: number;
id_str: string;
screen_name: string;
following: boolean;
followed_by: boolean;
live_following?: boolean;
following_received: boolean | null;
following_requested: boolean | null;
notifications_enabled?: boolean | null;
can_dm?: boolean | null;
blocking?: boolean | null;
blocked_by?: boolean | null;
muting?: boolean | null;
want_retweets?: boolean | null;
all_replies?: boolean | null;
marked_spam?: boolean | null;
}
export interface FriendshipV1 {
relationship: {
source: FriendshipRelationObjectV1;
target: FriendshipRelationObjectV1;
};
}
export interface FriendshipCreateOrDestroyV1 extends UserV1 {
status: TweetV1;
}
export interface FriendshipLookupV1 {
name: string;
screen_name: string;
id: number;
id_str: string;
connections: TFriendshipConnectionV1[];
}
export declare type FriendshipsIncomingV1Result = DoubleEndedIdCursorV1Result;
export {};