edit_message()

Client.edit_message()

编辑指定消息,更改其文本或媒体文件。

参数:
entity (user | chat | channel):

接收消息的对象

text (str, 可选):

要编辑的消息文本。

消息的最大长度为 35,000 字节或 4,096 个字符。

message (int | str | message, 可选):

要编辑的消息 id 或者消息对象。

parse_mode (str, 可选):

文本格式解析器配置。值支持 markdownmd), htmlhtm), None

link_preview (bool, 可选):

配置是否展示消息预览,默认开启。

file (str, bytes, 可选):

如果参数为 str ,则将再此路径下寻找文件(支持相对/绝对路径)。

请注意:如果原消息为纯文本时,配置此项将会报错。

buttons (list), 可选):

配置消息按钮,参见示例,仅支持 bot 登录时。

限制:

最多可以有 100 个按钮(更多将被忽略)。 每行最多可以有 8 个按钮(更多将被忽略)。 按钮的最大回调数据为 64 字节。

schedule (float, 可选):

配置是否定时消息,默认不配置。

引发
  • MessageAuthorRequiredError – 如果您不是消息的发送者。

  • MessageNotModifiedError – 如果要编辑的消息和原消息一样。

  • MessageIdInvalidError – 如果消息的 ID 无效(消息 ID 本身可能是正确的,但无法编辑此 ID 对应的消息。)

示例

message = await client.send_message(chat, '你好')

await client.edit_message(chat, message, '你好!')
# 或者
await client.edit_message(chat, message.id, '你好!!')
# 或者
await client.edit_message(message, '你好!!!')