转发消息中的内容替换

为转发消息的文本设置自动替换,可以为消息添加签名、删除广告、替换链接、设置样式等。

替换消息片段:将汽车替换为飞机

替换规则的功能

借助 FLOWIN 服务,您可以自动更改转发消息的内容,使其符合自己的要求。例如,使用替换规则可以:

  • 在消息的任意位置添加任何签名。
  • 从消息中删除任何不需要的内容。
  • 替换链接、单词、编号、数字、联系方式或整段短语。
  • 将消息的各类相关信息插入消息正文:作者 ID、作者姓名、作者链接、原始消息链接、原始消息的时间和日期、来源名称等。
  • 为个别单词或短语设置样式。
  • 将消息中的数据整理成指定的严格模板,完全改变文本结构。

创建替换规则

我们通过一个简单的任务来了解替换规则的基本功能:将所有转发消息中的“汽车”替换为“飞机”。

开始之前

创建替换规则前,请确认已有一个已配置的转发任务,且使用复制模式。

以下是创建和设置简单替换规则的步骤:

  1. 打开 @flow_in_bot,发送 /start 命令,然后点击“控制面板”。

    通过 @flow_in_bot 进入控制面板
    通过 @flow_in_bot 进入控制面板。
  2. 如果看不到左侧菜单,请点击右上角的“菜单”。然后选择“替换规则”,再点击“创建”。
    右上角的“菜单”按钮
    右上角的“菜单”按钮。
    FLOWIN 菜单中的“替换规则”部分
    FLOWIN 菜单中的“替换规则”部分。
    创建新的替换规则
    创建新的替换规则。
  3. 在“搜索”字段中保留“文本”模式,并输入汽车。在“替换为”字段中输入飞机。其余参数保留默认值,然后点击“创建”。
    将“汽车”替换为“飞机”
    将“汽车”替换为“飞机”。
  4. 在已创建的替换规则所在行,点击闪烁的“应用”按钮。在打开的窗口中勾选所需的转发任务,然后点击“保存”。“应用”将变为“转发任务 [1]”。
    已创建的替换规则旁闪烁的“应用”按钮
    已创建的替换规则旁闪烁的“应用”按钮。
    为替换规则选择转发任务
    为替换规则选择转发任务。
    已创建的替换规则已关联到转发任务
    已创建的替换规则已关联到转发任务。
  5. 完成这些操作后,列表中将显示这条替换规则的信息。此后,对于为这条规则选定的转发任务,服务会自动在转发消息中查找“汽车”,并将其替换为“飞机”。
    包含“汽车”的原始消息
    包含“汽车”的原始消息。
    替换单词后目标中的消息
    替换单词后目标中的消息。

替换规则设置

下面以刚创建的替换规则为例,详细了解替换规则的设置和功能。

如何更改并保存替换规则

  1. 在所需替换规则所在行点击“更改”。随后会打开包含其参数的窗口。
    更改现有替换规则
    更改现有替换规则。
  2. 修改所需字段,例如添加说明“替换单词”,然后点击“保存”。窗口会关闭,新的说明会显示在替换规则所在行。
    保存修改后的参数
    保存修改后的参数。
    替换规则所在行中已保存的参数
    替换规则所在行中已保存的参数。

设置窗口中的字段

“现成示例”:列出了最常见的替换规则使用场景。点击所需示例后,对话框中的字段会自动填入示例对应的值,您只需按自己的需要稍作调整。

设置窗口中的“现成示例”按钮
设置窗口中的“现成示例”按钮。
替换、添加和删除文本的现成示例
替换、添加和删除文本的现成示例。

“搜索”:填写需要在消息中查找并替换的内容。此字段旁还有三种搜索模式:

  • “文本”:精确查找输入的字符组合,包括所有空格、缩进、括号等。不区分字母大小写。
  • “列表”:查找多个需要替换的内容选项,以逗号或换行分隔。不区分字母大小写。查找的就是列出的字符组合。
  • “Regexp”:使用正则表达式进行搜索。有关正则表达式语法的详细说明,请阅读文章《过滤器和替换规则中的正则表达式》。
用于精确字符组合的“文本”模式
用于精确字符组合的“文本”模式。
“列表”模式中的搜索选项
“列表”模式中的搜索选项。
使用正则表达式搜索
使用正则表达式搜索。

替换或删除文本

“替换为”:填写用于替换找到的原有内容的新内容。此字段可以使用编辑器提供的格式和元标签。此外,如果此字段留空,找到的内容就会直接从消息中删除,即替换为空内容。

“替换为”字段中的新内容
“替换为”字段中的新内容。

“处理后或处理前”:用于控制替换规则与其他处理功能的执行顺序。选择“处理前”时,替换规则会在翻译、AI 助手、水印、消息合并,以及其他选择了“处理后”的替换规则之前执行。选择“处理后”时,替换规则会在主要处理功能执行完毕后、消息准备发送前执行。

在处理前或处理后执行替换规则
在处理前或处理后执行替换规则。

“说明”:用于填写替换规则的备注,不影响任何功能,仅为方便您自己查看。可以留空。

替换规则的可选说明
替换规则的可选说明。

格式与样式

格式标签

使用替换规则可以为转发消息的内容设置格式和样式。在替换规则设置的“替换为”字段中,可以使用以下格式与样式标签:

  • 换行:<br>
  • 空格:<space>
  • 粗体:<b>Hi</b>
  • 斜体:<i>Hi</i>
  • 删除线:<s>Hi</s>
  • 代码:<code>Hi</code>
  • 链接:<a href="https://ya.ru">Hi</a>
  • 剧透:<span class="tg-spoiler">text</span>
  • 引用:<blockquote>Hi</blockquote>

“替换为”字段提供可视化编辑器:您可以为选中的文本设置粗体、斜体、下划线、删除线、链接、代码、代码块、剧透或引用。要输入标签,请使用“切换到代码模式”按钮。

示例:将替换后的单词设为粗体

  1. 在更改替换规则的窗口中,通过以下两种方式之一设置粗体。在可视化编辑器中选中飞机,然后点击“粗体”。如果您更习惯手动输入标签,请点击字段底部的“切换到代码模式”按钮,并将字段内容替换为<b>飞机</b>。点击“保存”。
    可视化编辑器中的粗体
    可视化编辑器中的粗体。
    切换到代码模式的按钮
    切换到代码模式的按钮。
    代码模式中的格式标签
    代码模式中的格式标签。
  2. 此后,转发消息中的“汽车”将被替换为以粗体显示的“飞机”。
    未设置格式的原始消息
    未设置格式的原始消息。
    目标中替换后的单词格式
    目标中替换后的单词格式。

特殊元标签

主要元标签

在替换规则设置的“替换为”字段中,可以使用特殊元标签为消息添加相关信息,也可以将它们与格式标签结合使用。以下列出了主要的信息元标签:

  • 消息日期:<message-date>
  • 消息时间:<message-time>
  • 作者 ID:<author-id>
  • 作者姓名:<author-name>
  • 带链接的作者姓名:<author-name-link>
  • 作者姓名标签:<author-name-tag>
  • 作者用户名:<author-username>
  • 来源中的消息文本:<src-message-text>
  • 来源中的消息 ID:<src-message-id>
  • 来源中的消息链接:<src-message-link>
  • 来源聊天 ID:<src-chat-id>
  • 来源聊天名称:<src-chat-name>
  • 来源聊天用户名:<src-chat-username>
  • 来源中的话题 ID:<src-topic-id>
  • 来源中的话题名称:<src-topic-name>
  • 目标中的消息文本:<dst-message-text>
  • 目标聊天 ID:<dst-chat-id>
  • 目标聊天名称:<dst-chat-name>
  • 目标聊天用户名:<dst-chat-username>
  • 目标中的话题 ID:<dst-topic-id>
  • 目标中的话题名称:<dst-topic-name>
  • 正则表达式:<regexp>(short|sell)</regexp>
  • 随机文本:<random>1|2|3|4|5</random>
  • 找到的待替换内容:<content>

点击“元标签”按钮可以打开带搜索功能的列表。其中还包含当前日期和时间、消息统计、监听账号和发送账号信息等分组。

示例:带来源链接的签名

  1. 在更改替换规则的窗口中点击“现成示例”。在搜索框中输入来源链接,然后选择“添加来源链接”。
    更改替换规则窗口中的“现成示例”按钮
    更改替换规则窗口中的“现成示例”按钮。
    “添加来源链接”现成示例
    “添加来源链接”现成示例。
  2. 字段会自动填充:“搜索”字段中的“Regexp”模式和$符号用于在消息末尾添加内容。“替换为”字段会出现“来源:”签名,其中包含聊天名称和原始消息链接的元标签。点击“保存”。
    由现成示例填充的签名参数
    由现成示例填充的签名参数。
  3. 此后,转发消息的末尾会出现包含来源名称的签名。点击名称即可打开原始消息;消息正文会完整保留。
    添加签名前的原始消息
    添加签名前的原始消息。
    带原始消息链接的签名
    带原始消息链接的签名。

替换为高级表情

将签名从 Telegram 移到替换规则中时,如需保留高级表情,请使用 @message_inspector_bot 提供的 JSON。该机器人也适用于不含高级表情但格式复杂的替换内容。

下面介绍如何创建替换规则,为每条转发消息添加包含高级表情的签名:

  1. 在 Telegram 中打开 @message_inspector_bot。向它发送包含所需高级表情和格式的签名文本,然后复制机器人回复中的 JSON。
    @message_inspector_bot 回复中的签名 JSON
    @message_inspector_bot 回复中的签名 JSON。
  2. 返回“替换规则”部分并点击“创建”。在“搜索”字段中选择“Regexp”,然后输入$。这个符号表示文本的结尾。
    为签名单独创建替换规则
    为签名单独创建替换规则。
    搜索消息结尾:Regexp 和 $ 符号
    搜索消息结尾:Regexp 和 $ 符号。
  3. 在“替换为”字段中按两次 Enter,使签名与消息正文分开。点击“元标签”,在搜索框中输入高级,然后选择“从 JSON 导入格式和高级表情”。将机器人的回复粘贴到“JSON”字段,再点击“插入”。
    换行两次后的“元标签”按钮
    换行两次后的“元标签”按钮。
    从 JSON 插入格式和高级表情
    从 JSON 插入格式和高级表情。
    插入窗口中来自机器人回复的 JSON
    插入窗口中来自机器人回复的 JSON。
  4. 确认字段中出现了包含签名文本的片段,然后点击“创建”。在新替换规则所在行点击闪烁的“应用”按钮,勾选所需转发任务,再点击“保存”。
    签名已作为单独片段插入
    签名已作为单独片段插入。
    应用已创建的签名替换规则
    应用已创建的签名替换规则。
    应用签名的转发任务
    应用签名的转发任务。
  5. 此后,所有转发消息都会添加包含高级表情的签名。
    未添加签名的原始消息
    未添加签名的原始消息。
    目标中包含高级表情的签名
    目标中包含高级表情的签名。

如何更改签名

JSON 会作为单独片段插入。您可以在它前后添加普通文本、换行、格式和元标签。如果需要更改高级表情签名本身,请向机器人发送新版本,再替换 JSON。

替换规则的可用操作

替换规则旁的“更改”按钮用于打开其主要设置。“更多”菜单提供其他操作:

  • “应用”:选择需要使用此替换规则的转发任务。
  • “创建副本”:创建一条设置相同的替换规则副本。
  • “选择项目”:将替换规则添加到项目。
  • “删除”:删除替换规则。
替换规则所在行的“更多”按钮
替换规则所在行的“更多”按钮。
“更多”菜单中的替换规则操作
“更多”菜单中的替换规则操作。

替换规则所在行的“应用”按钮也会打开转发任务选择窗口。规则关联后,该按钮会显示为“转发任务 [N]”,其中 N 表示已选转发任务的数量。

显示已关联转发任务列表的按钮
显示已关联转发任务列表的按钮。
更改替换规则关联的转发任务列表
更改替换规则关联的转发任务列表。

常见问题

是否需要分别列出首字母大写和小写的单词?

不需要。“文本”和“列表”模式的搜索不区分大小写:对于“Car”和“car”,只需填写一种形式。不过,搜索的是字符组合,也可能匹配更长单词中的一部分。如果只需要匹配完整单词,请使用带单词边界的“Regexp”模式。

如何在不替换原文的情况下添加签名?

在“Regexp”模式中,“搜索”字段里的$符号表示消息的结尾。“替换为”字段中的文本会添加在这里,消息正文会完整保留。“现成示例”中有添加签名的选项;带来源链接的示例展示了设置过程和结果。

如何添加指向原始帖子而非作者的链接?

使用元标签<src-message-link>:它会填入原始消息的链接。元标签<author-name-link>会创建作者链接,而<src-chat-name>会填入来源聊天的名称。“添加来源链接”现成示例将聊天名称与原始帖子的链接结合起来。

为什么翻译或 AI 会更改添加的签名?

如果替换规则选择了“处理前”,签名会在翻译和 AI 处理之前添加。这些处理功能收到的文本已经包含签名,因此可能会更改它。如需将签名添加到处理后的结果,请为这条替换规则选择“处理后”。这样,签名会在翻译和 AI 处理完成后出现;其他更晚执行的替换规则仍可能更改它。