创建自动转推机器人的终极指南

已发表: 2022-02-23

“机器人”这个词带来了很多不同的含义,这取决于你对这个词和生活的体验。 对于沉浸在科幻小说中的人们来说,它会让人想起复杂的机器人和未来主义。 对于营销人员来说,它会让人想起向他们的网站发送垃圾邮件的软件。 对于其他人来说,它只是意味着一个用于自动化乏味事情的软件。

实际上,机器人非常简单。 它们只是软件,通常甚至不是特别复杂的软件。 当然,像谷歌网络爬虫这样的东西很复杂,但它们内置了许多不同的功能。更简单的东西,比如 Twitter 机器人,真的没有太多功能。 让我们看看制作一个需要什么,嗯?

目录隐藏
Twitter 机器人功能
定义搜索字符串
编码机器人
另一种机器人方法
一种 Javascript 方法
相关文章:

Twitter 机器人功能

Twitter 机器人不需要做很多事情。 一个简单的转推机器人只需要一个看起来像这样的功能列表:

  • 能够以用户身份验证自己,或通过 Twitter 应用程序集成连接到帐户。
  • 广泛阅读推文的能力。
  • 检测其阅读的推文中是否存在某些主题标签或关键字的能力
  • 转发包含指定主题标签或关键字的推文的能力
  • 检测它是否转发给定帖子的能力——本质上是验证,以确保它不会陷入转发其推文消息的循环中。

五个项目,大部分都很容易做到,还不错。 现在,最简单的方法是使用 Google 脚本,您甚至不需要知道如何编写代码。 但是,如果您想使用更高级的功能,您可能需要深入研究代码。 或不! 这完全取决于你。

定义搜索字符串

第一步是弄清楚你希望机器人的目标是什么。 您可以稍后更改它以修改机器人,但它有助于立即了解任务的复杂程度。 你会想用 Twitter 的搜索栏来格式化它,因为这就是机器人将使用的。 这意味着使用在 Twitter 上工作的搜索运算符。 一些例子包括:

  • “www.URL.com min_retweets:5 OR min_faves:5 -RT” 此字符串将搜索包含您选择的 URL 的推文,并且仅搜索具有 5 个或更多收藏或转发的推文。 这会将转推本身从搜索结果中删除,并且只会为您提供至少已经有一些参与度的推文。 –RT 位还用于删除手动转发。
  • “#Keyword –RT –filter:links” 此字符串将搜索包含您选择的主题标签的推文,并使用过滤器删除包含链接的推文,因为它与前面的运算符是多余的。 –RT 再次删除了手动转发。
  • “#Keyword near:”Seattle,WA” within:20mi” 此字符串将搜索包含您选择的主题标签的推文,但仅搜索由所列地理位置 20 英里范围内的人(在本例中为西雅图)发布的推文。 它没有 –RT 过滤器,因此它可以识别最初由区域外人员发布但在目标区域内转推的推文。

您可以根据自己的喜好混合搭配这些内容。 还有其他过滤器。 你应该做的是去 Twitter 的搜索,只是玩弄变量和过滤器,直到你想出一个搜索查询,它给你你想看到的东西,仅此而已。 复制这些字符串,以便以后使用。

编码机器人

在开始制作机器人之前,您应该做的第一件事是注册一个新的 Twitter 帐户。 它拥有什么个人资料信息并不重要,您只是将其用于测试。 这是因为 Twitter 对机器人如何在其网站上采取行动有一些非常严格的规定。 如果您尝试使用您的主要帐户测试机器人并且机器人越界,您的主要帐户突然被禁止,您无能为力。 通过创建一个虚拟帐户来避免该问题,如果它被禁止则无关紧要。

自动转发机器人示例

Twitter 关于自动化和机器人的规则是什么? 您可以在此处阅读详细信息,但我将总结要点。

  • 仅发布有关趋势主题的自动化被视为对用户体验有害,因此被禁止
  • 自动转推通常被视为垃圾邮件并被禁止批量转发,但 Twitter 批准的应用程序允许有限转推。
  • 除非收件人同意接收消息,否则禁止发送直接消息的自动化。
  • 禁止批量喜欢推文的自动化。

不幸的是,一个只以批量方式转发内容的应用程序是违反规则的。 我们的应用程序计划在转发时更有针对性,减少随意性,但它仍然可能违反规则。 通过制作这样的机器人,您正在避开一条线,因此请谨慎行事,不要将它与您真正关心的帐户一起使用。

您还需要设置 Google Drive,以管理您的代码并使用 Google Scripts 来设置此机器人。 当然,如果您熟悉其他开发环境,则可以使用它们,但此时您可能不需要阅读本指南。

现在,您要做的就是访问apps.twitter.com 上的Twitter 应用程序开发人员部分并创建一个新的项目应用程序。 您需要为应用程序指定名称、描述和 URL,然后单击以创建它。

创建应用程序后,单击“密钥和访问令牌”部分,然后单击以创建访问令牌。 这将为您生成一个密钥,您需要随身携带。

Twitter 访问密钥示例 我们在这里创建的机器人是 Amit Agarwal 创建的机器人的变体,可以通过快速的 Google 搜索找到。 你会在顶部看到很多棕色的内容和一点点黑色的内容。 棕色是评论; 它们实际上是不可见的。 黑色是实际代码。 顶部的行是您需要编辑的行。 你看到它在哪里有你的消费者和访问密钥的线路吗? 在那里添加您的数据。 您还需要添加在第一步中创建的搜索字符串。

如果需要,您可以向下滚动并阅读其余代码。 但是,除非您知道自己在做什么,否则您不应该更改任何内容。 该机器人基本上每五分钟检查一次 Twitter 是否有符合您设置的搜索字符串的新内容。 当它检测到某些内容时,它会转发并收藏它。 它还在动作之间有一个内置的半随机延迟,介于 10 秒和 1 分钟之间,以使其动作看起来不像机器人。 很容易检测到计时器上的常规动作; 添加随机计时器有助于将风险降至最低。

现在,在您的 Google Drive 中,只需单击运行并启动机器人。 而已! 它已设置为运行并将一直运行到您将其关闭为止。 要关闭它,请返回驱动器并单击运行并关闭机器人。

另一种机器人方法

下一个方法也是基于 Amit 的一个脚本,但它更迂回一些。 因此,它也更难被检测为机器人,假设您没有以明显是机器人的方式使用它。

这次您要做的是登录 Twitter 并创建一个小部件。 要使用您的搜索查询字符串之一,请单击小部件创建器的“搜索”选项卡并在此处输入。 创建小部件,然后复制 URL。 URL 的一部分将是一个长数字字符串; 将其复制为小部件的 ID。

接下来,您需要获取 Amit 的脚本,在此处找到。 该脚本所做的是将您的 Twitter 小部件(在本例中为搜索查询结果的嵌入式版本)转换为 RSS 提要。 这很重要,因为 Twitter 停止支持推文到 RSS 的转换,这就是我们需要使用这个第三方脚本的原因。 请注意,由于最近的一些 Twitter 更改,上面链接中的脚本可能无法正常工作。 如果没有,请检查此链接并在那里使用脚本。

推特 RSS 提要

和以前一样,一旦脚本在您的 Google Drive 中,您需要运行它。 它会要求对您的 Twitter 帐户进行授权。 让它授权,你就可以开始了。 脚本运行后,您需要单击发布并单击 deblow 作为 Web 应用程序。 让每个人都可以看到它,点击创建它,然后复制它给你的链接。 这是指向 RSS 提要的链接,但它只是显示您的提要。 您需要做的是添加一个 ? 到 URL 的末尾并插入您之前复制的 Twitter 小部件 ID。 这将在小部件上执行代码,而不是您的授权提要。

这一切都将您的搜索查询转换为结果的 RSS 提要。 不过,仅此一项并不能满足我们转发的目的。 接下来,我们需要设置一些接受 RSS 输入并转发它的东西。 为此,我们将使用 IFTTT 进行一些宏自动化。

注册 IFTTT 后,您可以创建新配方。 单击以在您的小部件提要的 URL 中选择一个 RSS 输入和提要。 单击下一步,然后单击 Twitter 作为输出。 IFTTT 会在此处通过 Twitter 询问您正在采取什么行动; 您应该单击“发布推文”并在发生的情况框中添加“_RT _”。

IFTTT 转发食谱

现在会发生的是脚本将运行,它会运行您的 Twitter 搜索。 当出现新结果时,它会发布到此自定义 RSS 提要。 当此 RSS 提要中出现新内容时,您的 IFTTT 食谱机器人将手动转发该推文。 建议您在搜索字符串中使用 –RT 过滤器,以避免一遍又一遍地转发您的机器人。

一种 Javascript 方法

这第三种方法更健壮一些,但也需要您了解一点编码。 再一次,您将希望从为您的机器人创建一个 Twitter 帐户开始,因为从您的主帐户运行它会导致问题。 在这个新帐户上,创建一个名为 cool-people 的用户列表,并将您的普通帐户添加到列表中。

接下来,使用您的新帐户登录并在apps.twitter.com 页面上完成制作新应用程序的过程。 您需要将访问级别设置为读写,确保回调 URL 为空,然后创建访问令牌。 和以前一样,复制访问令牌密钥和各种数据。

我们用于此机器人的代码由 Bryan Braun 在 Github 上发布,但您可能需要使用 Git 来获取代码。

推特列表机器人

Github 在这里,git 所需的代码是

  • 获取克隆 https://github.com/bryanbraun/twitter-listbot.git
  • cd twitter-listbot

现在您需要在任何不附加元数据的文本编辑器中打开 index.js 文件。 也就是说,像 Wordpad 或 Notepad++ 之类的东西,而不是 Microsoft Word。 您需要将 me: XXXXXX 条目更改为您的机器人帐户的用户名减去 @,并确保 myList 字段与您上面的列表名称相同。 您实际上不需要将其命名为cool-people,这就是默认值。

现在该机器人将转发列表中人员的推文。 这与搜索字段转推机器人并不完全相同,但您可以将它与另一个机器人结合使用来管理您希望它看到的推文。

此时,您需要进行一些复杂的编码。 您需要将访问令牌信息插入新机器人,并且需要使用 nodeJS 运行它。 它会打开一个窗口,看起来它什么也没做,这只是意味着它正在监听新的推文。 在您的普通帐户上发布推文,机器人帐户应该会看到并转发它。

您在这里有一些选择,包括将机器人放在服务器上运行的能力,这样您就不会被迫让您的计算机运行并连接到互联网以保持机器人存活。 您可以在此处阅读有关身份验证和服务器托管的更多信息。

与 JavaScript 或 Google Scripts 相比,您更熟悉 PHP 吗? 如果是这样,您可以在 PHP 中制作一个类似的机器人。 它执行与 IFTTT 设置相同的 Twitter 到 RSS 到 Retweet 操作序列,除了它是您使用 PHP 运行的更可定制的代码。 您可以在此处阅读有关该内容的所有信息; 我既没有篇幅也没有兴趣为这篇文章详细解释 PHP。 不过,该机器人有点复杂,它包括用于发布自定义消息以感谢用户的代码,以及当有人提到你的名字时的一些随机回复。

总而言之,这些方法中的至少一种应该可以让您获得愿意使用的机器人。 只要记住尽量减少它所做的类似垃圾邮件的活动。 如果您担心垃圾邮件,请将机器人关闭一段时间,或增加帖子之间的延迟以降低频率。 您还可以考虑提高转发的参与度阈值,以防 5 个喜欢的阈值太低。