editMessageText method

Future<Message> editMessageText(
  1. String text, {
  2. String? businessConnectionId,
  3. ParseMode? parseMode,
  4. List<MessageEntity>? entities,
  5. LinkPreviewOptions? linkPreviewOptions,
  6. InlineKeyboardMarkup? replyMarkup,
})

Edits the current message's text.

Use this method to edit text messages. On success, if the edited message is not an inline message, the edited Message is returned.

Parameters:

  • text: New text of the message, 1-4096 characters after entities parsing
  • businessConnectionId: Unique identifier of the business connection
  • parseMode: Mode for parsing entities in the message text
  • entities: List of special entities that appear in message text
  • linkPreviewOptions: Link preview generation options for the message
  • replyMarkup: Additional interface options

Returns the edited Message object.

Throws TeleverseException if no message information is found in the current update.

Example:

// Simple text edit
await ctx.editMessageText('Updated text content');

// Edit with formatting
await ctx.editMessageText(
  '*Updated text* with _formatting_',
  parseMode: ParseMode.markdownV2,
);

// Edit with keyboard
await ctx.editMessageText(
  'Choose an option:',
  replyMarkup: InlineKeyboardMarkup(
    inlineKeyboard: [[
      InlineKeyboardButton(text: 'Option 1', callbackData: 'opt1'),
    ]],
  ),
);

Implementation

Future<Message> editMessageText(
  String text, {
  String? businessConnectionId,
  ParseMode? parseMode,
  List<MessageEntity>? entities,
  LinkPreviewOptions? linkPreviewOptions,
  InlineKeyboardMarkup? replyMarkup,
}) async {
  final chatId = _getChatId();
  final msgId = messageId;
  _verifyInfo(
    [chatId, msgId],
    APIMethod.editMessageText,
    description:
        "No message or chat information found in the current update.",
  );

  return api.editMessageText(
    chatId!,
    msgId!,
    text,
    businessConnectionId: _businessConnectionId(businessConnectionId),
    parseMode: parseMode,
    entities: entities,
    linkPreviewOptions: linkPreviewOptions,
    replyMarkup: replyMarkup,
  );
}