Skip to content

Class: DialogResource

Dialog Core

.create(payload): Promise<DialogInfo> Since0.1.10

POST /dialogs API Docs
Creates a new dialog

Parameters

NameTypeDescription
payloadCreateDialogPayloadCreateDialogPayload Dialog creation data

Returns

Promise<DialogInfo>

CreateDialogResponse Created dialog response

Throws

If name or description is invalid

Example

javascript
const dialog = await rest.dialogs.create({
  name: "My Dialog",
  description: "Discussion place",
  type: "public"
});

.createPrivate(userId): Promise<DialogModel> Since0.1.10

POST /dialogs/private/{user_id} API Docs
Creates a private dialog with a user

Parameters

NameTypeDescription
userIdnumberUser identifier to create private dialog with

Returns

Promise<DialogModel>

DialogModel Created private dialog

Throws

If user ID is invalid or user not found

Example

javascript
const privateDialog = await rest.dialogs.createPrivate(12345);

find()

find(query, payload, page): Promise<DialogModel[]>

Find dialogs

Parameters

NameTypeDescription
querystringSearch mask
payloadFindDialogPayloadSearch data
page?numberPage number (default 0)

Returns

Promise<DialogModel[]>

Dialog list

Deprecated

Use rest.search.dialogs() instead

Example

javascript
// Use rest.search.dialogs() instead
const results = await rest.search.dialogs('programming', {
  sort: 0,    // by relevance
  type: 0,    // all types
  country: 0, // all countries
  topic: 0    // all topics
});

.get(id, code): Promise<DialogModel> Since0.1.10

GET /dialogs/{dialog_id} API Docs
Gets a dialog by identifier

Parameters

NameTypeDescription
idnumberDialog identifier
code?stringInvitation code (optional)

Returns

Promise<DialogModel>

DialogModel object

Throws

If dialog not found

Example

javascript
const dialog = await rest.dialogs.get(123);
const privateDialog = await rest.dialogs.get(456, 'invite123');

getAll()

getAll(): Promise<DialogModel[]>

Gets all dialogs where the client is a member

Returns

Promise<DialogModel[]>

Array of DialogModel objects

Throws

If dialogs cannot be retrieved

Example

javascript
const dialogs = await rest.dialogs.getAll();

.join(dialogId): Promise<response> Since1.0.0

POST /dialogs/{dialog_id}/join/{user_id} No API Docs
Join to dialog

Parameters

NameTypeDescription
dialogIdnumberDialog identifier

Returns

Promise<response>

Operation result

Throws

If parameters are invalid

Example

javascript
await rest.dialogs.join(123);

.leave(dialogId): Promise<response> Since1.0.0

DELETE /dialogs/{dialog_id}/leave/{user_id} No API Docs
Leave dialog

Parameters

NameTypeDescription
dialogIdnumberDialog identifier

Returns

Promise<response>

Operation result

Throws

If parameters are invalid

Example

javascript
await rest.dialogs.leave(123);

.mute(dialogId): Promise<responseMute> Since1.0.0

PATCH /dialogs/{dialog_id}/mute API Docs
Mute/unmute dialog

Parameters

NameTypeDescription
dialogIdnumberDialog identifier

Returns

Promise<responseMute>

Mute status response

Example

javascript
const result = await rest.dialogs.mute(123);

.update(dialogId, payload): Promise<response> Since1.0.0

PATCH /dialogs/{dialog_id} No API Docs
Update dialog

Parameters

NameTypeDescription
dialogIdnumberDialog identifier
payloadUpdateDialogPayloadUpdateDialogPayload Dialog data

Returns

Promise<response>

Operation result

Throws

If parameters are invalid

Example

javascript
await rest.dialogs.update(123, { name: 'New Name' });
await rest.dialogs.update(123, { description: 'Updated description' });

Dialog Members

.addMember(dialogId, userId, code): Promise<response> Since0.1.10

POST /dialogs/{dialog_id}/join/{user_id} No API Docs
Add user to dialog

Parameters

NameTypeDescription
dialogIdnumberDialog identifier
userIdnumberUser identifier
code?string

Returns

Promise<response>

Operation result

Throws

If parameters are invalid

Example

javascript
await rest.dialogs.addMember(123, 456);

.getMembers(dialogId, page): Promise<DialogMemberModel[]> Since0.1.10

GET /dialogs/{dialog_id}/members No API Docs
Get dialog members

Parameters

NameTypeDescription
dialogIdnumberDialog identifier
page?numberPage number (default 0)

Returns

Promise<DialogMemberModel[]>

Array of DialogMemberModel objects

Throws

If parameters are invalid

Example

javascript
const members = await rest.dialogs.getMembers(123);
const nextPage = await rest.dialogs.getMembers(123, 1);

.removeMember(dialogId, userId): Promise<response> Since0.1.10

DELETE /dialogs/{dialog_id}/leave/{user_id} No API Docs
Remove user from dialog

Parameters

NameTypeDescription
dialogIdnumberDialog identifier
userIdnumberUser identifier

Returns

Promise<response>

Operation result

Throws

If parameters are invalid

Example

javascript
await rest.dialogs.removeMember(123, 456);

Dialog Messages

.deleteMessage(messageId): Promise<response> Since0.1.10

DELETE /dialogs/messages/{message_id} API Docs
Delete message

Parameters

NameTypeDescription
messageIdnumberMessage identifier

Returns

Promise<response>

Operation result

Example

javascript
const deleted = await rest.dialogs.deleteMessage(12345);

getMessage()

getMessage(dialogId): Promise<MessageModel>

Get message (by id)

Parameters

NameTypeDescription
dialogIdnumberDialog ID

Returns

Promise<MessageModel>

Array of messages

Deprecated

This method may not work due to restricted access to view all messages

Example

javascript
const messages = await rest.dialogs.getMessage(123);

.getMessages(dialogId, lastId?): Promise<MessageModel[]> Since0.1.10

GET /dialogs/{dialog_id}/messages API Docs
Get messages from dialog

Parameters

NameTypeDescription
dialogIdnumberDialog identifier
lastId?numberLast message ID for pagination (optional)

Returns

Promise<MessageModel[]>

Array of messages

Example

javascript
const messages = await rest.dialogs.getMessages(123);
const older_messages = await rest.dialogs.getMessages(123, 999);

.sendMessage(dialogId, payload): Promise<MessageModel> Since0.1.10

POST /dialogs/{dialog_id}/messages No API Docs
Send message to dialog

Parameters

NameTypeDescription
dialogIdnumberDialog identifier
payloadSendMessagePayloadSendMessagePayload Message data

Returns

Promise<MessageModel>

Message Sent message

Example

javascript
// Text message
await rest.dialogs.sendMessage(123, { text: "Hello!" });

// With photos and reply
await rest.dialogs.sendMessage(123, {
  text: "Check this",
  photos_list: [-1112],
  replyTo: 48561
});

// With attachments
await rest.dialogs.sendMessage(123, {
  text: "Media",
  attachments: [
    { Type: "video", Item: 28 },
    { Type: "track", Item: 6422 },
    { Type: "file", Item: 684 },
    { Type: "post", Item: 3201 }
  ]
});

// With new attachments
import { File, Audio, Video, Photo } from '@yurbajs/utils'

await rest.dialogs.sendMessage(123, {
  text: "Media",
  attachments: [
    New File('/path/to/file.txt'),
    New Photo('/path/to/photo.png', { caption: "the file" }),
    New Audio('/path/to/audio.mp3', { name: '', author: '', release: '', cover: '', mode: ''}),
    New Video('/path/to/video.mp4')
  ]
});

// Edit message
await rest.dialogs.sendMessage(123, {
  text: "Updated",
  edit: 12345
});