mwn
Hierarchy
-
Mwn
- mwn
Index
Constructors
constructor
- new mwn(customOptions?: string | MwnOptions): mwn
-
Parameters
-
Optional customOptions: string | MwnOptions
Returns mwn
-
Properties
Category
Category: MwnCategoryStatic = ...
Date
Date: MwnDateStatic = ...
File
File: MwnFileStatic = ...
Page
Page: MwnPageStatic = ...
Title
Title: MwnTitleStatic = ...
User
User: MwnUserStatic = ...
Wikitext
category
category: MwnCategoryStatic = ...
cookieJar
cookieJar: CookieJar = ...
csrfToken
csrfToken: string = '%notoken%'
date
date: MwnDateStatic = ...
Readonly defaultOptions
file
file: MwnFileStatic = ...
hasApiHighLimit
hasApiHighLimit: boolean = false
loggedIn
loggedIn: boolean = false
oauth
oauth: OAuth
options
page
page: MwnPageStatic = ...
requestOptions
requestOptions: RawRequestParams = ...
shutoff
shutoff: { hook: Timeout; state: boolean } = ...
Type declaration
-
hook: Timeout
-
state: boolean
sleep
sleep: (duration: number) => Promise<void> = ...
Type declaration
-
- (duration: number): Promise<void>
-
Parameters
-
duration: number
Returns Promise<void>
-
state
state: any = {}
title
title: MwnTitleStatic = ...
user
user: MwnUserStatic = ...
usingOAuth
usingOAuth: boolean
usingOAuth2
usingOAuth2: boolean
wikitext
Static Error
Error: typeof MwnError = ...
Static Table
Table: typeof Table = ...
Static link
link: (target: string | MwnTitle, displaytext?: string) => string = ...
Static log
log: (obj: item) => void = ...
Type declaration
-
- (obj: item): void
-
Parameters
-
obj: item
Returns void
-
Static requestDefaults
requestDefaults: RawRequestParams = ...
Static setLoggingConfig
setLoggingConfig: (options: Partial<typeof logConfig>) => void = ...
Type declaration
-
- (options: Partial<typeof logConfig>): void
-
Parameters
-
options: Partial<typeof logConfig>
Returns void
-
Static table
table: typeof Table = ...
Static template
template: (title: string | MwnTitle, parameters?: {}) => string = ...
Static util
util: { escapeHtml: (s: string) => string; escapeRegExp: (str: string) => string; isIPAddress: (address: string, allowBlock?: boolean) => boolean; isIPv4Address: (address: string, allowBlock?: boolean) => boolean; isIPv6Address: (address: string, allowBlock?: boolean) => boolean; rawurlencode: (str: string) => string; wikiUrlencode: (str: string) => string } = ...
Type declaration
-
escapeHtml: (s: string) => string
-
- (s: string): string
-
Parameters
-
s: string
Returns string
HTML
-
-
-
escapeRegExp: (str: string) => string
-
- (str: string): string
-
Parameters
-
str: string
Returns string
Escaped string
-
-
-
isIPAddress: (address: string, allowBlock?: boolean) => boolean
-
- (address: string, allowBlock?: boolean): boolean
-
Parameters
-
address: string
-
Optional allowBlock: boolean
Returns boolean
-
-
-
isIPv4Address: (address: string, allowBlock?: boolean) => boolean
-
- (address: string, allowBlock?: boolean): boolean
-
Parameters
-
address: string
-
Optional allowBlock: boolean
Returns boolean
-
-
-
isIPv6Address: (address: string, allowBlock?: boolean) => boolean
-
- (address: string, allowBlock?: boolean): boolean
-
Parameters
-
address: string
-
Optional allowBlock: boolean
Returns boolean
-
-
-
rawurlencode: (str: string) => string
-
- (str: string): string
-
Parameters
-
str: string
Returns string
Encoded string
-
-
-
wikiUrlencode: (str: string) => string
-
- (str: string): string
-
Parameters
-
str: string
Returns string
Encoded string
-
-
Methods
askQuery
- askQuery(query: string, apiUrl: string, customRequestOptions?: RawRequestParams): Promise<any>
-
Parameters
-
query: string
-
apiUrl: string
-
Optional customRequestOptions: RawRequestParams
Returns Promise<any>
-
batchOperation
- batchOperation<T>(list: T[], worker: (item: T, index: number) => Promise<any>, concurrency?: number, retries?: number): Promise<{ failures: {} }>
-
Type parameters
-
T
Parameters
-
list: T[]
-
worker: (item: T, index: number) => Promise<any>
-
- (item: T, index: number): Promise<any>
-
Parameters
-
item: T
-
index: number
Returns Promise<any>
-
-
-
concurrency: number = 5
-
retries: number = 0
Returns Promise<{ failures: {} }>
- resolved when all API calls have finished, with object { failures: [ ...list of failed items... ] }
-
continuedQuery
- continuedQuery(query?: ApiParams, limit?: number): Promise<ApiResponse[]>
-
Parameters
-
Optional query: ApiParams
-
limit: number = 10
Returns Promise<ApiResponse[]>
- resolved with an array of responses of individual calls.
-
continuedQueryGen
- continuedQueryGen(query?: ApiParams, limit?: number): AsyncGenerator<ApiResponse, any, unknown>
-
Parameters
-
Optional query: ApiParams
-
limit: number = ...
Returns AsyncGenerator<ApiResponse, any, unknown>
-
create
- create(title: string, content: string, summary?: string, options?: ApiEditPageParams): Promise<ApiEditResponse>
-
Parameters
-
title: string
-
content: string
-
Optional summary: string
-
Optional options: ApiEditPageParams
Returns Promise<ApiEditResponse>
-
createAccount
- createAccount(username: string, password: string): Promise<any>
-
Parameters
-
username: string
-
password: string
Returns Promise<any>
-
delete
- delete(title: string | number, summary: string, options?: ApiDeleteParams): Promise<ApiResponse>
-
Parameters
-
title: string | number
-
summary: string
-
Optional options: ApiDeleteParams
Returns Promise<ApiResponse>
-
disableEmergencyShutoff
- disableEmergencyShutoff(): void
-
Returns void
download
- download(file: string | number, localname: string): Promise<void>
-
Parameters
-
file: string | number
-
localname: string
Returns Promise<void>
-
downloadFromUrl
- downloadFromUrl(url: string, localname: string): Promise<void>
-
Parameters
-
url: string
-
localname: string
Returns Promise<void>
-
edit
- edit(title: string | number, transform: EditTransform, editConfig?: EditConfig): Promise<ApiEditResponse>
-
Parameters
-
title: string | number
-
transform: EditTransform
-
Optional editConfig: EditConfig
Returns Promise<ApiEditResponse>
Edit API response
-
enableEmergencyShutoff
- enableEmergencyShutoff(shutoffOptions?: { condition?: RegExp | ((text: string) => boolean); intervalDuration?: number; onShutoff?: (text: string) => void; page?: string }): void
-
Parameters
-
Optional shutoffOptions: { condition?: RegExp | ((text: string) => boolean); intervalDuration?: number; onShutoff?: (text: string) => void; page?: string }
-
Optional condition?: RegExp | ((text: string) => boolean)
-
Optional intervalDuration?: number
-
Optional onShutoff?: (text: string) => void
-
- (text: string): void
-
Parameters
-
text: string
Returns void
-
-
-
Optional page?: string
-
Returns void
-
getCsrfToken
- getCsrfToken(): Promise<string>
-
Returns Promise<string>
getMessages
- getMessages(messages: string | string[], options?: ApiQueryAllMessagesParams): Promise<Record<string, string>>
-
Parameters
-
messages: string | string[]
-
options: ApiQueryAllMessagesParams = {}
Returns Promise<Record<string, string>>
-
getPagesByPrefix
- getPagesByPrefix(prefix: string, otherParams?: ApiQueryAllPagesParams): Promise<string[]>
-
Parameters
-
prefix: string
-
Optional otherParams: ApiQueryAllPagesParams
Returns Promise<string[]>
- array of page titles (upto 5000 or 500)
-
getPagesInCategory
- getPagesInCategory(category: string, otherParams?: ApiQueryCategoryMembersParams): Promise<string[]>
-
Parameters
-
category: string
-
Optional otherParams: ApiQueryCategoryMembersParams
Returns Promise<string[]>
-
getServerTime
- getServerTime(): Promise<string>
-
Returns Promise<string>
getSiteInfo
- getSiteInfo(): Promise<void>
-
Returns Promise<void>
getTokenType
- getTokenType(action: string): Promise<string>
-
Parameters
-
action: string
Returns Promise<string>
-
getTokens
- getTokens(): Promise<void>
-
Returns Promise<void>
getTokensAndSiteInfo
- getTokensAndSiteInfo(): Promise<void>
-
Returns Promise<void>
initOAuth
- initOAuth(): void
-
Returns void
login
- login(loginOptions?: { apiUrl?: string; password?: string; username?: string }): Promise<ApiResponse>
-
Parameters
-
Optional loginOptions: { apiUrl?: string; password?: string; username?: string }
-
Optional apiUrl?: string
-
Optional password?: string
-
Optional username?: string
-
Returns Promise<ApiResponse>
-
loginGetToken
- loginGetToken(loginOptions?: MwnOptions): Promise<void>
-
Parameters
-
Optional loginOptions: MwnOptions
Returns Promise<void>
-
logout
- logout(): Promise<void>
-
Returns Promise<void>
massQuery
- massQuery(query?: ApiParams, batchFieldName?: string): Promise<ApiResponse[]>
-
Parameters
-
Optional query: ApiParams
-
batchFieldName: string = 'titles'
Returns Promise<ApiResponse[]>
- promise resolved when all the API queries have settled, with the array of responses.
-
massQueryGen
- massQueryGen(query: ApiParams, batchFieldName?: string, batchSize?: number): AsyncGenerator<ApiResponse, any, unknown>
-
Parameters
-
query: ApiParams
-
batchFieldName: string = 'titles'
-
Optional batchSize: number
Returns AsyncGenerator<ApiResponse, any, unknown>
-
move
- move(fromtitle: string, totitle: string, summary: string, options?: ApiMoveParams): Promise<ApiResponse>
-
Parameters
-
fromtitle: string
-
totitle: string
-
summary: string
-
Optional options: ApiMoveParams
Returns Promise<ApiResponse>
-
newSection
- newSection(title: string | number, header: string, message: string, additionalParams?: ApiEditPageParams): Promise<ApiEditResponse>
-
Parameters
-
title: string | number
-
header: string
-
message: string
-
Optional additionalParams: ApiEditPageParams
Returns Promise<ApiEditResponse>
-
oresQueryRevisions
- oresQueryRevisions(endpointUrl: string, models: string[], revisions: string | number | string[] | number[]): Promise<any>
-
Parameters
-
endpointUrl: string
-
models: string[]
-
revisions: string | number | string[] | number[]
Returns Promise<any>
-
parseJsonPage
- parseJsonPage(title: string): Promise<any>
-
Parameters
-
title: string
Returns Promise<any>
parsed JSON object
-
parseTitle
- parseTitle(title: string, additionalParams?: ApiParseParams): Promise<string>
-
Parameters
-
title: string
-
Optional additionalParams: ApiParseParams
Returns Promise<string>
-
parseWikitext
- parseWikitext(content: string, additionalParams?: ApiParseParams): Promise<string>
-
Parameters
-
content: string
-
Optional additionalParams: ApiParseParams
Returns Promise<string>
-
purge
- purge(titles: string | number | string[] | number[], options?: ApiPurgeParams): Promise<ApiResponse>
-
Parameters
-
titles: string | number | string[] | number[]
-
Optional options: ApiPurgeParams
Returns Promise<ApiResponse>
-
query
- query(params: ApiParams, customRequestOptions?: RawRequestParams): Promise<ApiQueryResponse>
-
Parameters
-
params: ApiParams
-
customRequestOptions: RawRequestParams = {}
Returns Promise<ApiQueryResponse>
-
rawRequest
- rawRequest(requestOptions: RawRequestParams): Promise<AxiosResponse<any, any>>
-
Parameters
-
requestOptions: RawRequestParams
Returns Promise<AxiosResponse<any, any>>
-
read
readGen
request
- request(params: ApiParams, customRequestOptions?: RawRequestParams): Promise<ApiResponse>
-
Parameters
-
params: ApiParams
-
customRequestOptions: RawRequestParams = {}
Returns Promise<ApiResponse>
-
rollback
- rollback(page: string | number, user: string, params?: ApiRollbackParams): Promise<ApiResponse>
-
Parameters
-
page: string | number
-
user: string
-
Optional params: ApiRollbackParams
Returns Promise<ApiResponse>
-
save
- save(title: string | number, content: string, summary?: string, options?: ApiEditPageParams): Promise<ApiEditResponse>
-
Parameters
-
title: string | number
-
content: string
-
Optional summary: string
-
Optional options: ApiEditPageParams
Returns Promise<ApiEditResponse>
-
saveOption
- saveOption(option: string, value: string): Promise<ApiResponse>
-
Parameters
-
option: string
-
value: string
Returns Promise<ApiResponse>
-
saveOptions
- saveOptions(options: Record<string, string>): Promise<ApiResponse>
-
Parameters
-
options: Record<string, string>
Returns Promise<ApiResponse>
-
search
- search(searchTerm: string, limit?: number | "max", props?: OneOrMore<"categorysnippet" | "extensiondata" | "isfilematch" | "redirectsnippet" | "redirecttitle" | "sectionsnippet" | "sectiontitle" | "size" | "snippet" | "timestamp" | "titlesnippet" | "wordcount" | "hasrelated" | "score">, otherParams?: ApiQuerySearchParams): Promise<ApiSearchResult[]>
-
Parameters
-
searchTerm: string
-
limit: number | "max" = 50
-
Optional props: OneOrMore<"categorysnippet" | "extensiondata" | "isfilematch" | "redirectsnippet" | "redirecttitle" | "sectionsnippet" | "sectiontitle" | "size" | "snippet" | "timestamp" | "titlesnippet" | "wordcount" | "hasrelated" | "score">
-
Optional otherParams: ApiQuerySearchParams
Returns Promise<ApiSearchResult[]>
-
seriesBatchOperation
- seriesBatchOperation<T>(list: T[], worker: (item: T, index: number) => Promise<any>, delay?: number, retries?: number): Promise<{ failures: {} }>
-
Type parameters
-
T
Parameters
-
list: T[]
-
worker: (item: T, index: number) => Promise<any>
-
- (item: T, index: number): Promise<any>
-
Parameters
-
item: T
-
index: number
Returns Promise<any>
-
-
-
delay: number = 5000
-
retries: number = 0
Returns Promise<{ failures: {} }>
- resolved when all API calls have finished, with object { failures: { failed item: error, failed item2: error2, ... } }
-
setApiUrl
- setApiUrl(apiUrl: string): void
-
Parameters
-
apiUrl: string
Returns void
-
setDefaultParams
- setDefaultParams(params: ApiParams): void
-
Parameters
-
params: ApiParams
Returns void
-
setOptions
- setOptions(customOptions: MwnOptions): void
-
Parameters
-
customOptions: MwnOptions
Returns void
-
setRequestOptions
- setRequestOptions(customRequestOptions: RawRequestParams): any
-
Parameters
-
customRequestOptions: RawRequestParams
Returns any
-
setUserAgent
- setUserAgent(userAgent: string): void
-
Parameters
-
userAgent: string
Returns void
-
sparqlQuery
- sparqlQuery(query: string, endpointUrl: string, customRequestOptions?: RawRequestParams): Promise<any>
-
Parameters
-
query: string
-
endpointUrl: string
-
Optional customRequestOptions: RawRequestParams
Returns Promise<any>
-
undelete
- undelete(title: string, summary: string, options?: ApiUndeleteParams): Promise<ApiResponse>
-
Parameters
-
title: string
-
summary: string
-
Optional options: ApiUndeleteParams
Returns Promise<ApiResponse>
-
upload
- upload(filepath: string, title: string, text: string, options?: ApiUploadParams): Promise<ApiResponse>
-
Parameters
-
filepath: string
-
title: string
-
text: string
-
Optional options: ApiUploadParams
Returns Promise<ApiResponse>
-
uploadFromUrl
- uploadFromUrl(url: string, title: string, text: string, options?: ApiUploadParams): Promise<ApiResponse>
-
Parameters
-
url: string
-
title: string
-
text: string
-
Optional options: ApiUploadParams
Returns Promise<ApiResponse>
-
userinfo
- userinfo(options?: ApiQueryUserInfoParams): Promise<any>
-
Parameters
-
options: ApiQueryUserInfoParams = {}
Returns Promise<any>
-
Static init
- init(config: MwnOptions): Promise<Mwn>
-
Parameters
-
config: MwnOptions
Returns Promise<Mwn>
bot object
-