feat(client): added non-working translation methods
This commit is contained in:
parent
d0218ece42
commit
2b0af79fb3
3 changed files with 175 additions and 66 deletions
|
@ -1,6 +1,67 @@
|
||||||
/* THIS FILE WAS AUTO-GENERATED */
|
/* THIS FILE WAS AUTO-GENERATED */
|
||||||
import { BaseTelegramClient } from '@mtcute/core'
|
import { BaseTelegramClient } from '@mtcute/core'
|
||||||
import { tl } from '@mtcute/tl'
|
import { tl } from '@mtcute/tl'
|
||||||
|
import { Readable } from 'stream'
|
||||||
|
import {
|
||||||
|
ArrayWithTotal,
|
||||||
|
BotCommands,
|
||||||
|
BotStoppedUpdate,
|
||||||
|
CallbackQuery,
|
||||||
|
Chat,
|
||||||
|
ChatEvent,
|
||||||
|
ChatInviteLink,
|
||||||
|
ChatMember,
|
||||||
|
ChatMemberUpdate,
|
||||||
|
ChatPreview,
|
||||||
|
ChosenInlineResult,
|
||||||
|
Conversation,
|
||||||
|
DeleteMessageUpdate,
|
||||||
|
Dialog,
|
||||||
|
FileDownloadParameters,
|
||||||
|
FormattedString,
|
||||||
|
GameHighScore,
|
||||||
|
HistoryReadUpdate,
|
||||||
|
IMessageEntityParser,
|
||||||
|
InlineQuery,
|
||||||
|
InputFileLike,
|
||||||
|
InputInlineResult,
|
||||||
|
InputMediaLike,
|
||||||
|
InputPeerLike,
|
||||||
|
InputStickerSetItem,
|
||||||
|
MaybeDynamic,
|
||||||
|
Message,
|
||||||
|
MessageMedia,
|
||||||
|
ParsedUpdate,
|
||||||
|
PartialExcept,
|
||||||
|
PartialOnly,
|
||||||
|
PeersIndex,
|
||||||
|
Photo,
|
||||||
|
Poll,
|
||||||
|
PollUpdate,
|
||||||
|
PollVoteUpdate,
|
||||||
|
RawDocument,
|
||||||
|
ReplyMarkup,
|
||||||
|
SentCode,
|
||||||
|
StickerSet,
|
||||||
|
TakeoutSession,
|
||||||
|
TermsOfService,
|
||||||
|
TypingStatus,
|
||||||
|
UploadFileLike,
|
||||||
|
UploadedFile,
|
||||||
|
User,
|
||||||
|
UserStatusUpdate,
|
||||||
|
UserTypingUpdate,
|
||||||
|
} from './types'
|
||||||
|
import {
|
||||||
|
AsyncLock,
|
||||||
|
Deque,
|
||||||
|
MaybeArray,
|
||||||
|
MaybeAsync,
|
||||||
|
SessionConnection,
|
||||||
|
SortedLinkedList,
|
||||||
|
} from '@mtcute/core'
|
||||||
|
import { tdFileId } from '@mtcute/file-id'
|
||||||
|
import { Logger } from '@mtcute/core/src/utils/logger'
|
||||||
import { acceptTos } from './methods/auth/accept-tos'
|
import { acceptTos } from './methods/auth/accept-tos'
|
||||||
import { checkPassword } from './methods/auth/check-password'
|
import { checkPassword } from './methods/auth/check-password'
|
||||||
import { getPasswordHint } from './methods/auth/get-password-hint'
|
import { getPasswordHint } from './methods/auth/get-password-hint'
|
||||||
|
@ -65,6 +126,7 @@ import { addContact } from './methods/contacts/add-contact'
|
||||||
import { deleteContacts } from './methods/contacts/delete-contacts'
|
import { deleteContacts } from './methods/contacts/delete-contacts'
|
||||||
import { getContacts } from './methods/contacts/get-contacts'
|
import { getContacts } from './methods/contacts/get-contacts'
|
||||||
import { importContacts } from './methods/contacts/import-contacts'
|
import { importContacts } from './methods/contacts/import-contacts'
|
||||||
|
import { _pushConversationMessage } from './methods/dialogs/_init-conversation'
|
||||||
import { createFolder } from './methods/dialogs/create-folder'
|
import { createFolder } from './methods/dialogs/create-folder'
|
||||||
import { deleteFolder } from './methods/dialogs/delete-folder'
|
import { deleteFolder } from './methods/dialogs/delete-folder'
|
||||||
import { editFolder } from './methods/dialogs/edit-folder'
|
import { editFolder } from './methods/dialogs/edit-folder'
|
||||||
|
@ -73,7 +135,6 @@ import { getDialogs } from './methods/dialogs/get-dialogs'
|
||||||
import { getFolders } from './methods/dialogs/get-folders'
|
import { getFolders } from './methods/dialogs/get-folders'
|
||||||
import { getPeerDialogs } from './methods/dialogs/get-peer-dialogs'
|
import { getPeerDialogs } from './methods/dialogs/get-peer-dialogs'
|
||||||
import { _parseDialogs } from './methods/dialogs/parse-dialogs'
|
import { _parseDialogs } from './methods/dialogs/parse-dialogs'
|
||||||
import { _pushConversationMessage } from './methods/dialogs/_init-conversation'
|
|
||||||
import { downloadAsBuffer } from './methods/files/download-buffer'
|
import { downloadAsBuffer } from './methods/files/download-buffer'
|
||||||
import { downloadToFile } from './methods/files/download-file'
|
import { downloadToFile } from './methods/files/download-file'
|
||||||
import { downloadAsIterable } from './methods/files/download-iterable'
|
import { downloadAsIterable } from './methods/files/download-iterable'
|
||||||
|
@ -121,6 +182,8 @@ import { sendScheduled } from './methods/messages/send-scheduled'
|
||||||
import { sendText } from './methods/messages/send-text'
|
import { sendText } from './methods/messages/send-text'
|
||||||
import { sendTyping } from './methods/messages/send-typing'
|
import { sendTyping } from './methods/messages/send-typing'
|
||||||
import { sendVote } from './methods/messages/send-vote'
|
import { sendVote } from './methods/messages/send-vote'
|
||||||
|
import { translateMessage } from './methods/messages/translate-message'
|
||||||
|
import { translateText } from './methods/messages/translate-text'
|
||||||
import { unpinAllMessages } from './methods/messages/unpin-all-messages'
|
import { unpinAllMessages } from './methods/messages/unpin-all-messages'
|
||||||
import { unpinMessage } from './methods/messages/unpin-message'
|
import { unpinMessage } from './methods/messages/unpin-message'
|
||||||
import { initTakeoutSession } from './methods/misc/init-takeout-session'
|
import { initTakeoutSession } from './methods/misc/init-takeout-session'
|
||||||
|
@ -146,14 +209,6 @@ import { getStickerSet } from './methods/stickers/get-sticker-set'
|
||||||
import { moveStickerInSet } from './methods/stickers/move-sticker-in-set'
|
import { moveStickerInSet } from './methods/stickers/move-sticker-in-set'
|
||||||
import { setStickerSetThumb } from './methods/stickers/set-sticker-set-thumb'
|
import { setStickerSetThumb } from './methods/stickers/set-sticker-set-thumb'
|
||||||
import { ConditionVariable } from '@mtcute/core/src/utils/condition-variable'
|
import { ConditionVariable } from '@mtcute/core/src/utils/condition-variable'
|
||||||
import {
|
|
||||||
AsyncLock,
|
|
||||||
Deque,
|
|
||||||
MaybeArray,
|
|
||||||
MaybeAsync,
|
|
||||||
SessionConnection,
|
|
||||||
SortedLinkedList,
|
|
||||||
} from '@mtcute/core'
|
|
||||||
import { RpsMeter } from './utils/rps-meter'
|
import { RpsMeter } from './utils/rps-meter'
|
||||||
import {
|
import {
|
||||||
_dispatchUpdate,
|
_dispatchUpdate,
|
||||||
|
@ -186,59 +241,6 @@ import { setProfilePhoto } from './methods/users/set-profile-photo'
|
||||||
import { unblockUser } from './methods/users/unblock-user'
|
import { unblockUser } from './methods/users/unblock-user'
|
||||||
import { updateProfile } from './methods/users/update-profile'
|
import { updateProfile } from './methods/users/update-profile'
|
||||||
import { updateUsername } from './methods/users/update-username'
|
import { updateUsername } from './methods/users/update-username'
|
||||||
import { Readable } from 'stream'
|
|
||||||
import {
|
|
||||||
ArrayWithTotal,
|
|
||||||
BotCommands,
|
|
||||||
BotStoppedUpdate,
|
|
||||||
CallbackQuery,
|
|
||||||
Chat,
|
|
||||||
ChatEvent,
|
|
||||||
ChatInviteLink,
|
|
||||||
ChatMember,
|
|
||||||
ChatMemberUpdate,
|
|
||||||
ChatPreview,
|
|
||||||
ChosenInlineResult,
|
|
||||||
Conversation,
|
|
||||||
DeleteMessageUpdate,
|
|
||||||
Dialog,
|
|
||||||
FileDownloadParameters,
|
|
||||||
FormattedString,
|
|
||||||
GameHighScore,
|
|
||||||
HistoryReadUpdate,
|
|
||||||
IMessageEntityParser,
|
|
||||||
InlineQuery,
|
|
||||||
InputFileLike,
|
|
||||||
InputInlineResult,
|
|
||||||
InputMediaLike,
|
|
||||||
InputPeerLike,
|
|
||||||
InputStickerSetItem,
|
|
||||||
MaybeDynamic,
|
|
||||||
Message,
|
|
||||||
MessageMedia,
|
|
||||||
ParsedUpdate,
|
|
||||||
PartialExcept,
|
|
||||||
PartialOnly,
|
|
||||||
PeersIndex,
|
|
||||||
Photo,
|
|
||||||
Poll,
|
|
||||||
PollUpdate,
|
|
||||||
PollVoteUpdate,
|
|
||||||
RawDocument,
|
|
||||||
ReplyMarkup,
|
|
||||||
SentCode,
|
|
||||||
StickerSet,
|
|
||||||
TakeoutSession,
|
|
||||||
TermsOfService,
|
|
||||||
TypingStatus,
|
|
||||||
UploadFileLike,
|
|
||||||
UploadedFile,
|
|
||||||
User,
|
|
||||||
UserStatusUpdate,
|
|
||||||
UserTypingUpdate,
|
|
||||||
} from './types'
|
|
||||||
import { tdFileId } from '@mtcute/file-id'
|
|
||||||
import { Logger } from '@mtcute/core/src/utils/logger'
|
|
||||||
|
|
||||||
// from methods/updates.ts
|
// from methods/updates.ts
|
||||||
interface PendingUpdateContainer {
|
interface PendingUpdateContainer {
|
||||||
|
@ -1076,14 +1078,14 @@ export interface TelegramClient extends BaseTelegramClient {
|
||||||
maxId?: number
|
maxId?: number
|
||||||
): Promise<void>
|
): Promise<void>
|
||||||
/**
|
/**
|
||||||
* Delete all messages of a user in a supergroup
|
* Delete all messages of a user (or channel) in a supergroup
|
||||||
*
|
*
|
||||||
* @param chatId Chat ID
|
* @param chatId Chat ID
|
||||||
* @param userId User ID
|
* @param participantId User/channel ID
|
||||||
*/
|
*/
|
||||||
deleteUserHistory(
|
deleteUserHistory(
|
||||||
chatId: InputPeerLike,
|
chatId: InputPeerLike,
|
||||||
userId: InputPeerLike
|
participantId: InputPeerLike
|
||||||
): Promise<void>
|
): Promise<void>
|
||||||
/**
|
/**
|
||||||
* Edit supergroup/channel admin rights of a user.
|
* Edit supergroup/channel admin rights of a user.
|
||||||
|
@ -3013,6 +3015,40 @@ export interface TelegramClient extends BaseTelegramClient {
|
||||||
message: number,
|
message: number,
|
||||||
options: null | MaybeArray<number | Buffer>
|
options: null | MaybeArray<number | Buffer>
|
||||||
): Promise<Poll>
|
): Promise<Poll>
|
||||||
|
/**
|
||||||
|
* Translate message text to a given language.
|
||||||
|
*
|
||||||
|
* Returns `null` if it could not translate the message.
|
||||||
|
*
|
||||||
|
* > **Note**: For now doesn't seem to work, returns null for all messages.
|
||||||
|
*
|
||||||
|
* @param chatId Chat or user ID
|
||||||
|
* @param messageId Identifier of the message to translate
|
||||||
|
* @param toLanguage Target language (two-letter ISO 639-1 language code)
|
||||||
|
* @param fromLanguage Source language (two-letter ISO 639-1 language code, by default auto-detected)
|
||||||
|
*/
|
||||||
|
translateMessage(
|
||||||
|
chatId: InputPeerLike,
|
||||||
|
messageId: number,
|
||||||
|
toLanguage: string,
|
||||||
|
fromLanguage?: string
|
||||||
|
): Promise<string | null>
|
||||||
|
/**
|
||||||
|
* Translate text to a given language.
|
||||||
|
*
|
||||||
|
* Returns `null` if it could not translate the message.
|
||||||
|
*
|
||||||
|
* > **Note**: For now doesn't seem to work, returns null for all messages.
|
||||||
|
*
|
||||||
|
* @param text Text to translate
|
||||||
|
* @param toLanguage Target language (two-letter ISO 639-1 language code)
|
||||||
|
* @param fromLanguage Source language (two-letter ISO 639-1 language code, by default auto-detected)
|
||||||
|
*/
|
||||||
|
translateText(
|
||||||
|
text: string,
|
||||||
|
toLanguage: string,
|
||||||
|
fromLanguage?: string
|
||||||
|
): Promise<string | null>
|
||||||
/**
|
/**
|
||||||
* Unpin all pinned messages in a chat.
|
* Unpin all pinned messages in a chat.
|
||||||
*
|
*
|
||||||
|
@ -3699,6 +3735,7 @@ export class TelegramClient extends BaseTelegramClient {
|
||||||
deleteContacts = deleteContacts
|
deleteContacts = deleteContacts
|
||||||
getContacts = getContacts
|
getContacts = getContacts
|
||||||
importContacts = importContacts
|
importContacts = importContacts
|
||||||
|
protected _pushConversationMessage = _pushConversationMessage
|
||||||
createFolder = createFolder
|
createFolder = createFolder
|
||||||
deleteFolder = deleteFolder
|
deleteFolder = deleteFolder
|
||||||
editFolder = editFolder
|
editFolder = editFolder
|
||||||
|
@ -3707,7 +3744,6 @@ export class TelegramClient extends BaseTelegramClient {
|
||||||
getFolders = getFolders
|
getFolders = getFolders
|
||||||
getPeerDialogs = getPeerDialogs
|
getPeerDialogs = getPeerDialogs
|
||||||
protected _parseDialogs = _parseDialogs
|
protected _parseDialogs = _parseDialogs
|
||||||
protected _pushConversationMessage = _pushConversationMessage
|
|
||||||
downloadAsBuffer = downloadAsBuffer
|
downloadAsBuffer = downloadAsBuffer
|
||||||
downloadToFile = downloadToFile
|
downloadToFile = downloadToFile
|
||||||
downloadAsIterable = downloadAsIterable
|
downloadAsIterable = downloadAsIterable
|
||||||
|
@ -3753,6 +3789,8 @@ export class TelegramClient extends BaseTelegramClient {
|
||||||
sendText = sendText
|
sendText = sendText
|
||||||
sendTyping = sendTyping
|
sendTyping = sendTyping
|
||||||
sendVote = sendVote
|
sendVote = sendVote
|
||||||
|
translateMessage = translateMessage
|
||||||
|
translateText = translateText
|
||||||
unpinAllMessages = unpinAllMessages
|
unpinAllMessages = unpinAllMessages
|
||||||
unpinMessage = unpinMessage
|
unpinMessage = unpinMessage
|
||||||
initTakeoutSession = initTakeoutSession
|
initTakeoutSession = initTakeoutSession
|
||||||
|
|
37
packages/client/src/methods/messages/translate-message.ts
Normal file
37
packages/client/src/methods/messages/translate-message.ts
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
import { TelegramClient } from '../../client'
|
||||||
|
import { InputPeerLike } from '../../types'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Translate message text to a given language.
|
||||||
|
*
|
||||||
|
* Returns `null` if it could not translate the message.
|
||||||
|
*
|
||||||
|
* > **Note**: For now doesn't seem to work, returns null for all messages.
|
||||||
|
*
|
||||||
|
* @param chatId Chat or user ID
|
||||||
|
* @param messageId Identifier of the message to translate
|
||||||
|
* @param toLanguage Target language (two-letter ISO 639-1 language code)
|
||||||
|
* @param fromLanguage Source language (two-letter ISO 639-1 language code, by default auto-detected)
|
||||||
|
* @internal
|
||||||
|
*/
|
||||||
|
export async function translateMessage(
|
||||||
|
this: TelegramClient,
|
||||||
|
chatId: InputPeerLike,
|
||||||
|
messageId: number,
|
||||||
|
toLanguage: string,
|
||||||
|
fromLanguage?: string
|
||||||
|
): Promise<string | null> {
|
||||||
|
const res = await this.call({
|
||||||
|
_: 'messages.translateText',
|
||||||
|
peer: await this.resolvePeer(chatId),
|
||||||
|
msgId: messageId,
|
||||||
|
fromLang: fromLanguage,
|
||||||
|
toLang: toLanguage,
|
||||||
|
})
|
||||||
|
|
||||||
|
if (res._ === 'messages.translateNoResult') {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.text
|
||||||
|
}
|
34
packages/client/src/methods/messages/translate-text.ts
Normal file
34
packages/client/src/methods/messages/translate-text.ts
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
import { TelegramClient } from '../../client'
|
||||||
|
import { InputPeerLike } from '../../types'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Translate text to a given language.
|
||||||
|
*
|
||||||
|
* Returns `null` if it could not translate the message.
|
||||||
|
*
|
||||||
|
* > **Note**: For now doesn't seem to work, returns null for all messages.
|
||||||
|
*
|
||||||
|
* @param text Text to translate
|
||||||
|
* @param toLanguage Target language (two-letter ISO 639-1 language code)
|
||||||
|
* @param fromLanguage Source language (two-letter ISO 639-1 language code, by default auto-detected)
|
||||||
|
* @internal
|
||||||
|
*/
|
||||||
|
export async function translateText(
|
||||||
|
this: TelegramClient,
|
||||||
|
text: string,
|
||||||
|
toLanguage: string,
|
||||||
|
fromLanguage?: string
|
||||||
|
): Promise<string | null> {
|
||||||
|
const res = await this.call({
|
||||||
|
_: 'messages.translateText',
|
||||||
|
text,
|
||||||
|
fromLang: fromLanguage,
|
||||||
|
toLang: toLanguage,
|
||||||
|
})
|
||||||
|
|
||||||
|
if (res._ === 'messages.translateNoResult') {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.text
|
||||||
|
}
|
Loading…
Reference in a new issue